Mulit-objective mathematical models can be easily solved by every linear programming software package like GAMS, Lingo, CPLEX, and etc. But the most important thing is to find the mechanism that is used for transforming the multi-objective model to a single objective one.
There are many approaches to do this, for example, Goal programming, Fuzzy goal programming, weighting approaches by MCDM techniques, Epsilon-constraint methods, etc.
whether a multi-objective problem can be solved by a linear progamming package depends on whether it is linear.
GAMS is a modeling language and not a solver.
Lingo is both modeling and a non-linear global optimization solver.
CPLEX is a linear programming code that also provides functionality for solving convex quadratic problems.
And transforming a multi-objective problem to a single objective one does not solve the multi-objective problem. Usually the Pareto front is considered to be the solution of a multi-objective problem.
GAMS does not provide a facility to define a mult-objective problem. Actually, there is nothing like an objective function in GAMS. However, GAMS is a modeling language and not a solver. What you should do is to find a multi-objective solver on the Internet and figure out what the proper interface is for using it.
Which solver to use will depend on the structure of your model. If all functions are convex (includes the linear case) you can compute an approximation of the Pareto front by scalarization. If the problem is non-convex solving the multi-objective problem is not so easy. In that case it would be good if you could provide us with more information.
The problem of finding an optimal representation of the Pareto surface can be formulated as a mathematical program with complementarity constraints, Look the attached article, then you can use the path solver.
I think the best approach for solving MOP is using goal programming which could be easily written in GAMs , Otherwise you could use epsilon constraint method or other approach, so first turn your model to a single objective problem then you could easily write the model's code.
I have developed a MDCM method based in Linear Programming that allows working with any number of objective functions, even contradictory, and with subjective and objective criteria in any mix.
In this method, called Simus, once the different projects or alternatives as well as criteria for evaluation are specified, the user selects amongst the criteria which of them are to be used as objective functions, albeit he can use them all, which is recommended.
Upon construction of the decision-making matrix, with projects or alternatives in columns and criteria in rows, the method selects the first criterion and uses it as objective function by removing it from the criteria list. Applying the Simplex algorithm it finds, if exists, and by using Solver - which is an Excel add-in - an optimal or Pareto efficient solution. The result is transferred to a matrix called ERM (Efficient Results Matrix).
The used restriction is returned to the criteria list and then the second criterion is chosen, used as an objective function, processed with Solver, and the solution transferred to a second line of the ERM. The used restriction is returned to the criteria list, and then the third criterion is picked up as objective function, results found and saved as a third row in the ERM.
This process is repeated as many times as criteria selected.
When all chosen criteria have been used as objective function, the ERM is a Pareto efficient matrix, and then it is normalized.
From here the ERM in analyzed in two ways: Vertically and horizontally.
In the vertical analysis, all the values for a project are added up and the result multiplied by a ‘Participation Factor’, that considers the number of times a project has been selected when all the criteria have been used as objective functions.
The final result in a row gives the ranking of projects, which can be in decimal or integer format, the higher the better, or in binary format, at analyst choice.
Then the normalized ERM is analyzed horizontally, computing the number of times a project outranks others. This produces a square matrix, called ‘Project Dominant Matrix’ or PDM, where dominant projects are on rows, while dominated projects are on columns.
Then, for each project, the method looks for the difference between number of times it dominates others and the number of times it is dominated by others. That is, we get another ranking in a column, with the highest value the better.
This way, two rankings are obtained for the same scenario, one from the ERM and the other for the PDM. Both rankings must coincide not in numerical values, but in their sequence.
That is, the model gets two solutions, by two different procedures, starting from the same data, and getting the same result. Naturally, this is not a Pareto efficient solution, but a compromise solution. It is a known fact than in multiobjective decision-making it is impossible to get an optimal solution, since for instance we cannot, at the same time, maximize a benefit, and also minimize a cost. However, it can be done with Simus.
One advantage of the system is that the process can be stopped using step-by-step procedure for each objective which allows for examining results and making modifications if necessary. In addition, shadow prices are shown after each objective is processed, and at the end of the process. This allows for determining the actual ‘weigh’ of each criterion and from it to extract valuable information referred to each project.
The main advantage of the model is that, other that the interventions of the decision-maker to add, change, delete, etc, original data according to partial results, there is no need for weights, or levels of acceptance between projects, which are sources of high subjectivity. There are neither ‘preferences’ from the analyst nor selection of ways to get the best value. That is, there is no subjectivity, other than the decision-maker’s actions mentioned above. Therefore, the decision-maker has a crucial role in the process.
There is also an efficient software used to process this model, written in Visual Basic, which can be sent free of charge and fully operational to people asking for it. If interested, request it to [email protected].
A complete description of this method as well as descriptions and actual examples for other methods such as Electre, Promethee, AHP, Topsis, etc, can be found in
‘Strategy for Using Multicriteria Analysis en Decision Making’, by Nolberto Munier, Springer, 2011.
Please do not hesitate to contact me if you have any question or doubts about this methodology.