Multi objective programming is another type of constrained optimization method of project selection. In this method, you make decision for multiple problems with mathematical optimization. In case, in a multi objective programming, a single solution cannot optimize each of the problems, then the problems are said to be in conflict and there is a probability of multiple optimal solutions. A solution is called as non dominated if values of none of the problem can be optimized without degrading values of another problem.

There are multiple terms used to define multi objective programming, such as multi objective optimization, vector optimization, multi criteria optimization, multi attribute optimization, or Pareto optimization. This method is an area of making decisions based on multiple criteria. You make decision mainly based on mathematical optimization of problems that requires you to simultaneously optimize more than one objective function. In this method of project selection, you make an optimal decision in presence of a trade off among multiple conflicting objectives. For example, minimizing cost, maintaining quality control, and adhering to deadlines are common multi objective optimization problems you face in most of the projects.

You can use the following methods of multi objective programming methods for selecting a project:

## No Preference Methods

In a no preference method of multi objective programming, you do not require any preference information from the decision maker. One of the most common no preference methods you can use is the method of global criterion. In the global criterion method, you solve the scalar problem in the following form:

Subject to

The global criterion method is sensitive to objective function scaling. Therefore, you must normalize the objectives into a uniform and dimensionless scale.

## A Priori Methods

In contrast to the no preference methods, in the a priori methods, you need to specify sufficient preference before the solution process. The most common a priori methods that you can use include utility function method, and lexicographic method.

For example, in a utility function method, you assume that the utility function is available. A utility function, such as a mapping ** u: Y→R**, specifies an ordering of the decision vectors. After you have got the value for

**, you solve the problem in the following form:**

*u*Subject to

Similarly, in a lexicographic method, you assume that you can rank objectives by the importance. Therefore, you assume that objective functions are ranked by importance such that ** f_{1}** is most important and

**is least important. In the lexicographic method, you solve a sequence of single objective optimization problems in the following form:**

*f*_{k}Here, ** y_{j}** is the optimal value of the problem with

**.**

*n = m*## A Posteriori Methods

In the a posteriori methods, your goal is to prepare all the Pareto optimal solutions or subset of the Pareto optimal solutions. You can categories most of the a posteriori methods into the following classes:

**Mathematical programming based a posteriori methods**: In these methods, you repeat the algorithm and with each run of the algorithm, you produce a Pareto optimal solution. Examples of this class include Normal Boundary Intersection (NBI), Modified Normal Boundary Intersection (NBIm), Normal Constraint (NC), Successive Pareto Optimization (SPO), and Direct Search Domain (DSD).**Evolutional algorithms**: In these methods, you produce a set of Pareto optimal solutions when you run the algorithm. Examples of this class include Non dominated Sorting Genetic Algorithm II (NSGA II) and Strength Pareto Evolutionary Algorithm 2 (SPEA 2).

## Interactive Methods

In the interactive methods, you work on an interactive solution process and keep interacting with it when searching for a most favorable solution. In these methods, the process expects you to provide you preferences for each iteration of the process to get Pareto optimal solutions.

The following is a common algorithm of the procedure followed in the interactive methods:

- Start the process with initial values.
- Fix a starting point for the Pareto optimal solution.
- Provide your preferences.
- Generate a Pareto optimal solution.
- Select the best solution so far, if multiple solutions are generated.
- If it is an optimal solution, then stop. Else, repeat step 3 through step 6.

## Hybrid Methods

In the hybrid methods, the algorithm consists of a combination of algorithms from multi criteria decision making (MCDM) and evolutionary multi objective optimization (EMO). The hybrid methods are used to overcome the shortcomings and utilizing the strengths of these methods.

## Multi Objective Programming Software

Multi objective programming involves complex mathematical computations. Therefore, either you need help from an expert or use any of the multi objective programming software available in the market for this purpose. The following is a list of some of the software available in the market:

- BENSOLVE
- Distributed Evolutionary Algorithms in Python
- MOEA Framework
- Decisionarium
- GUIMOO
- IDSS Software
- IND – NIMBUS
- jMetal
- MakeItRational
- Midacomo
- Multiple Goal Optimization (MGO)
- WWW – NIMBUS