Solving a multiobjective problem without constraints
AnsweredHello,

Hi Vaibhav,
...as you have described the problem, it is not 100% defined (and that is the usual problem with multiobjective optimization). What I mean is that in your example the best cost is the second option, but the best population is your first option (which is also the most costly), and the user must decide how to trade wining on one against wining on the other.
Gurobi (in one extreme) allow to optimize hierarchically (i.e. first optimize one metric and then, within the set of optimal  or near optimal  solutions for the first metric, optimize the second metric), or you can combine objectives using weights. All this is described in the manual
http://www.gurobi.com/documentation/8.1/refman/multiple_objectives.html
Finally, note that if you really have a list of options, you only need to sort according with your criteria
0 
Hi Daniel,
Thanks for the reply and your time. I have a few doubts I will be happy if you throw some light on them, as I am going through endless literature but not getting exact answers.
1. How efficient is assigning random weights to the objectives? Or in other words, How do I select proper weights as I assume the values are highly sensitive to the result.
2. Do the hierarchical method provide a single solution or a set of solution (parento set).
3. How efficient is the hierarchical method compared to metaheuristics like genetic algorithms? How to choose which is better for my problem.
4th and the last: My problem has no constraint so will it be possible to solve it by the herarchial method.
Thanks and Regards,
Vaibhav
0 
Vaibhav,
1. Any nondominated pareto optimal solution is a solution for a given set of weights (the weights come from making the point in question `the best`, random weights will give you a random nondominated solution (but be aware of the sign of those weights). Now.... which weights..... that really depends on you and the application, as there is no `one size fits all` solution
2. Yes, assuming you do not have repeated options.
3. Again, if you really have a list of options, the solution is just `sorting` using as criteria whatever is best for you. Now, if your options really depend on a bunch of other variables, then optimization will be better (if you can express these relationships correctly), finally, heuristics can always help to give a starting point, but they will never tell you when you have something that is (with a proof) good enough (that is what the GAP criteria does for you).
4. yes
0 
Hry Daniel,
Thanks for the reply. I have a few points for your reply in the last thread.
1. Is any technical method to choose weights. How the weights can be determined as per the application suppose I give a higher weight to cost than population, In this case, weight can be 2 to cost one to population. or it can be 3 to cost and 2 to population. How to determine these based on I assume any method exists.
2. For your reply "Yes, assuming you do not have repeated options." I didn't understand whether the reply "yes" was for a single solution or parento front. Secondly, I didn't understand the meaning of the term used " having repeated option" please clarify.
3. What do you specifically point by " if you really have a list of options". What do you mean by the term "option"
0 
Hi Daniel,
One last doubt. Are εconstraint method and lexilogical methods the same. From what I read both work in the same way.
Regards,
Vaibhav0 
Hi Vaibhav,
epsilonconstrained methods are a slight generalization of the lexicographic method (if epsilon == 0, you get lexicographical).
Regarding your other questions:
1 Not really, because they depend on (the final) user preferences
2 the solution is unique unless you have (in your twocolumn example) repeated entries. eg:
22 1300
22 1300
...
3 As I said, from your description it seems that you have to choose one possibility among a list of pairs (cost, population), each entry in the list is an option, or a feasible solution to your problem. If the set of feasible solutions is a readily available list, you only need to `sort` them; whereas if they are the result of interaction of other variables, then you have to use optimization.
0 
Hi Daniel,
Yes, you got my problem right I want a unique solution. I didn't understand the meaning of the sentence "whereas if they are the result of the interaction of other variables, then you have to use optimization".
I am planning to assign cost as one decision variable population as the second decision variable and optimize it like:
Min (cost)Min (Pop) {considering min will maximize the population} and give a priority value 5 to cost objective and a value 2 to the second objective. Am I thinking right?
Regards,
Vaibhav
0 
Hi Vaibhav,
If you want to use epsilonlexicographic, and your first priority is cost, then it seems right, but I would recommend setting ObjNRelTol to 0.01 (i.e. 1%) or something like that, to see solutions with similar cost but better population attributes.
Best regards,
Daniel
0
Please sign in to leave a comment.
Comments
8 comments