Dear community team,
I'm trying to solve an optimization problem by using the epsilon-constraint method. As I cannot find any related document about, how we can do that by OPL (just a simple template might be found in StackOverflow) I have worked with the tiny example that was illustrated by Alex Fleischer to do that. The problem is as follows:
int nbKids=200;
float costBus40=500;
float costBus30=400;
float costBus50=625;
dvar int+ nbBus40;
dvar int+ nbBus30;
dvar int+ nbBus50;
dvar float cost;
dvar float co2emission;
minimize
cost + co2emission;
subject to
{
cost>=costBus40*nbBus40 +nbBus30*costBus30+nbBus50*costBus50;
co2emission>=nbBus50+nbBus40*1.1+nbBus30*1.2;
40*nbBus40+nbBus30*30+nbBus50*50>=nbKids;
}
execute DISPLAY_After_SOLVE
{
writeln("The minimum cost is ",cost);
writeln("CO2 emission is ",co2emission);
writeln("We will use ",nbBus40," 40 seats buses ",nbBus30,
" 30 seats buses and ", nbBus50," buses 50 seats");
writeln("===============================================================");
};
main {
var epsilon=0.0001;
thisOplModel.generate();
cplex.setObjCoef(thisOplModel.co2emission,0);
cplex.solve();
thisOplModel.postProcess();
var cost=thisOplModel.cost.solutionValue;
thisOplModel.cost.LB=cost;
thisOplModel.cost.UB=cost+epsilon;
cplex.setObjCoef(thisOplModel.co2emission,1);
cplex.solve();
thisOplModel.postProcess();
};
After solving the problem the results are:
The minimum cost is 2500
CO2 emission is 6
We will use 5 40 seats buses 0 30 seats buses and 0 buses 50 seats
===============================================================
The minimum cost is 2500
CO2 emission is 4
We will use 0 40 seats buses 0 30 seats buses and 4 buses 50 seats
===============================================================
As far as I know, the e-constraints method can produce a non-dominance solution, in contrast to the lexicographic method.
What I am interested to know is, how the above solution is non-dominance?
Thanks in advance
Abbas
------------------------------
Abbas Omidi
------------------------------
#DecisionOptimization