same problem. However, if the feasible domain is a convex set, and the objectives are concave functions, then the value vectors in all optimal solutions must be the same, since if there were two different optimal solutions, their mean would be another feasible solution in which the objective functions attain a higher value - contradicting the optimality of the original solutions. Algorithms for continuous variables Saturation Algorithm for convex problems The Saturation Algorithm works when the feasible set is a convex set, and the objectives are concave functions. It was presented by Stephen J. Willson, and by other authors. The algorithm keeps a set of objectives that are considered saturated (also called: blocking). This means that their value cannot be improved without harming lower-valued objectives. The other objectives are called free. Initially, all objectives are free. The algorithm works as follows: While some objective is free: (P1) Solve the following single-objective problem, where is the saturation value of objective : If the problem is infeasible or unbounded, stop and declare that there is no solution. Otherwise, find a saturated objective as follows: For every free objective : (P2) Solve the following single-objective problem, where is the maximum value of the first problem: If the optimal value equals , then objective j becomes saturated from now on, and its saturation value is set to , since this is its maximum possible value subject to not harming smaller values. Otherwise, the optimal value must be larger than ; objective j remains free for now. End for End while At each step, at least one free objective must become saturated. This is because, if no objective were saturated, then the mean of all optimal solutions to (P2) would be a feasible solution in which all objective values are larger than - contradicting the optimality of solution to (P1). For example, suppose , objective 1 is not saturated because there is a solution with value-vector (3,1), and objective 2 is not saturated because there exists a solution with value-vector and (1,3). Then, there exists a solution with value-vector at least (2,2), but should have been at least 2. Therefore, after at most n iterations, all variables are saturated and a leximin-optimal solution is found. In each iteration t, the algorithm solves at most n-t+1 linear programs; therefore, the run-time of the algorithm is at most times the run-time of the LP solver. In some