minimize sum(j in tavail) 0.2*(ptn[j]*1000000-pln[j]1000000+sum(k in nport)pevch[j][k]-
sum(k in nport)(DOD1[k][j]-dod[k][j])cap[k][j]1000)
+0.8(sum(j in tavail)(-sum(k in nport)(-32768DOD1[k][j]+49546)(DOD1[k][j]-dod[k][j])*cap[k][j]*1000);
This is the mentioned objective function. Here the weight taken is 0.2 and 0.8. With change in weightage values only objective function value is changing. Decision variable is not changing. I have done this by lexicographic method. Is there any other method other than this for doing multi objective optimization. Whether C-PLEX doesn’t support weighted optimization? .
2
Answers
In order to use lexicographic multi objective you can rely on staticLex as in https://github.com/AlexFleischerParis/zooopl/blob/master/zoomultiobjective.mod
If you want to use weighted sum, change
into
Other methods for multi-objective-
1)Priority – weigh your objectives with an integer value like (1,2,3)-as priority.
2) Goal programming – solve using objectives separately. Then introduce equality constraints using upper and lower deviations for each of the corresponding optima and their objective functions. Then minimize sum of the deviations.
3) Solve all but one objectives individually. Then add constraints (
<=
or>=
depending upon max/min for each of the optima and objective function. Then solve the final objective.