Class DevelopmentOptionRanker

java.lang.Object
neqsim.process.fielddevelopment.evaluation.DevelopmentOptionRanker
All Implemented Interfaces:
Serializable

public class DevelopmentOptionRanker extends Object implements Serializable
Decision support tool for ranking and scoring development options.

Provides multi-criteria decision analysis (MCDA) for comparing field development alternatives. Supports weighted scoring across technical, economic, environmental, and strategic criteria.

Scoring Dimensions

  • Economic: NPV, IRR, payback, capital efficiency
  • Technical: Complexity, technology risk, reservoir uncertainty
  • Environmental: CO₂ intensity, emissions, environmental impact
  • Strategic: Synergies, optionality, infrastructure value
  • Risk: HSE risk, execution risk, commercial risk

Example Usage

DevelopmentOptionRanker ranker = new DevelopmentOptionRanker();

// Define criteria weights
ranker.setWeight(Criterion.NPV, 0.25);
ranker.setWeight(Criterion.CO2_INTENSITY, 0.15);
ranker.setWeight(Criterion.TECHNICAL_RISK, 0.20);
ranker.setWeight(Criterion.STRATEGIC_FIT, 0.15);
ranker.setWeight(Criterion.EXECUTION_RISK, 0.25);

// Add development options
DevelopmentOption opt1 = ranker.addOption("FPSO Development");
opt1.setScore(Criterion.NPV, 850.0); // MUSD
opt1.setScore(Criterion.CO2_INTENSITY, 12.0); // kg/boe
opt1.setScore(Criterion.TECHNICAL_RISK, 0.7); // 0-1, higher=riskier
opt1.setScore(Criterion.STRATEGIC_FIT, 0.9); // 0-1
opt1.setScore(Criterion.EXECUTION_RISK, 0.6);

DevelopmentOption opt2 = ranker.addOption("Tieback to Platform A");
opt2.setScore(Criterion.NPV, 420.0);
opt2.setScore(Criterion.CO2_INTENSITY, 8.0);
opt2.setScore(Criterion.TECHNICAL_RISK, 0.3);
opt2.setScore(Criterion.STRATEGIC_FIT, 0.7);
opt2.setScore(Criterion.EXECUTION_RISK, 0.3);

// Rank options
RankingResult result = ranker.rank();
System.out.println(result.generateReport());
Version:
1.0
Author:
ESOL
See Also: