I'm looking for an up to date list of publicly available multiobjective optimization software. I found a few websites with lists of software, but there's indication of how recent they are.

I also found 'Multiobjective Optimization Software' by Silvia Poles, Mariana Vassileva, and Daisuke Sasaki in Lecture Notes in Computer Science, 2008. It doesn't look like there is anything in COIN-OR for multiobjective optimization.

Personally, I'm interested in multiobjective combinatorial problems but a list of any software would probably be useful for someone. Commercial software with an academic license is also useful.

asked 14 Aug '11, 16:28

Luis%20de%20la%20Torre's gravatar image

Luis de la T...
accept rate: 11%

What's the definition of multi-objective objective? Is ROADDEF multi-objective since it has more than 1 soft constraint? Or is it more than just summing the weight of multiple constraints?

(15 Aug '11, 05:05) Geoffrey De ... ♦

Multi-objective literally means that there are multiple objectives. This is a distinct concept from constraints. An example might be a business wanting to maximize profit, while also maximizing customer satisfaction. Either objective could be maximized easily, but there is probably no single solution that maximizes both. There are lots of ways of modelling and dealing with multi-objective problems, for example creating a new objective that includes both the others weighted appropriately, finding a Pareto-optimal solution, turning one objective into constraints, etc...

(15 Aug '11, 05:21) DC Woods ♦

Sorry - I purposely kept it vague because there are so many different approaches to problems with multiple objectives. I would agree with @DC Woods' definition. I expect that specialized software focuses on methods that try to approximate the Pareto front, but this can be done through a lot of methods.

(15 Aug '11, 11:39) Luis de la T...

Very interesting stuff :) In my Planner implementations, I've done "weighted appropriately" and "turning one objective into constraints" regularly in the past. The "Pareto" one is interesting, but pretty easy to solve with a custom ScoreDefinition, that splits it's softScore into * levels. So it replaces int softScore with a TreeMap<int level, int sofScore>. I'd definitely need to make an example with that. Is there a canonical Pareto use case?

(17 Aug '11, 03:30) Geoffrey De ... ♦

@Geoffrey De Smet: Maybe, I understood your method incorrectly, but it seems having a similar idea to global critertion and e-constraint (i.e. the softScore and leveling ideas). I think this method might fail to work with problems having a weakly nondominated solution space. I've experienced the failure of these two methods against a bi-objective SCND problem in which one of the objectives has multiple optima for different levels of the other objective function value. In such cases, I suggest using NSGA-II or similar methods.

Finally, would you please elaborate more on "Canonical Pareto"?

(17 Aug '11, 15:32) Ehsan ♦

I'm not sure there is a canonical Pareto example. The use case is really if you want to see all of the possible solutions that are optimal in the Pareto sense. The Wikipedia example is nice - "one is trying to maximize the strength of a machine component and minimize the production cost". The difficulty of calculating the Pareto front and then using it in some practical application is that you get so many alternative solutions. How do you end up picking one of them in practice? It may simply be useful to know that you can find a solution that does 'well' in some or all of your objectives.

(17 Aug '11, 15:51) Luis de la T...

@Luis de la Torre: Thnaks for your answer. Actually, I understand the concept of Pareto optimality. However, my question was more about the term "Canonical Pareto". In fact, here was the first time I heard this term. In addition, a quick search in google didn't help. If your search for it along "multiobjective optimization", goolge returns only 6 results (apparently, this term is more common in the field of robot motion planning).

(18 Aug '11, 06:48) Ehsan ♦

@Ehsan with a canonical Pareto example, I meant a canonical example of Pareto, not an example of canonical Pareto. It's a parsing problem :)

(18 Aug '11, 07:07) Geoffrey De ... ♦

@Geoffrey De Smet: Thanks for the clarification. Many examples for Pareto efficiency use cases comes to mind. One is the example given by @Luis de la Torre. For anther one, consider a production planning model which tries to minimize total production, inventory, and human resources costs. Now if you want to simultaneously level human resource usage, these objectives are in conflict with each other. Another example is minimizing costs while maximizing service level which is applicable in many contexts such as scheduling and supply chain management.

(18 Aug '11, 07:31) Ehsan ♦
showing 5 of 9 show 4 more comments

If you want to use traditional MODM methods, which usually integrates objective functions such as weighted methods, global criterion, or goal programming, you might consult "Survey of multi-objective optimization methods for engineering" by Marler and Arora. In addition, you might refer to "Multiple Criteria Decision Making" by Zeleny for a classic textbook. Usually, these methods could be implemented via available single objective-based optimization software such as CPLEX and Gurobi.

However, if you need to solve large-scale combinatorial optimization problems, I recommend using a free metaheuristic framework such as ParadisEO-MOEO which includes various methods such as MOGA, NSGA, and NSGA-II. For getting more familiar with these methods, see "Multi-Objective Optimization Using Evolutionary Algorithms" by Deb.

The downside of the traditional methods is that they usually give you a single Pareto-optimal solution (unless you run them multiple time with various weights or use a method like e-constraint). However, multi-objective metaheuristics could give multiple Pareto-optimal solutions as they are usually designed to find a Pareto set.


answered 15 Aug '11, 11:32

Ehsan's gravatar image

Ehsan ♦
accept rate: 16%

Thanks! ParadisEO-MOEO looks interesting. I was hoping to find something that implemented some of these evolutionary algorithms

(15 Aug '11, 11:36) Luis de la T...

Ted Ralph's SYMPHONY MIP code has a biobjective solver https://projects.coin-or.org/SYMPHONY


answered 14 Aug '11, 17:47

Matthew%20Saltzman's gravatar image

Matthew Salt... ♦
accept rate: 17%

Your answer
toggle preview

Follow this question

By Email:

Once you sign in you will be able to subscribe for any updates here



Answers and Comments

Markdown Basics

  • *italic* or _italic_
  • **bold** or __bold__
  • link:[text](http://url.com/ "Title")
  • image?![alt text](/path/img.jpg "Title")
  • numbered list: 1. Foo 2. Bar
  • to add a line break simply add two spaces to where you would like the new line to be.
  • basic HTML tags are also supported



Asked: 14 Aug '11, 16:28

Seen: 10,237 times

Last updated: 18 Aug '11, 07:31

OR-Exchange! Your site for questions, answers, and announcements about operations research.