Questions about Multi Objective Linear Programming (MOLP) with 'fminimax'

3 visualizaciones (últimos 30 días)
Young Gwan Lee
Young Gwan Lee el 14 de Feb. de 2019
Editada: Matt J el 18 de Feb. de 2019
Hello, I have questions about 'fminimax' for Multi Objective Linear Programming (MOLP).
The settings for my optimization are on the below
I have concerns that if I change the values on the myfun (e.g., 7104057.18 , 1334616299.17) in terms of changing decimal, the 'X_All' value changes relatively severe (e.g., the patterns are changed between no decimal point and second decimal point). Is it common phenomena? and how do I understand and interpret it?
Second, I want to check whether the optimal values of X_ALL and fval_ALL from different setting that mentioned above are stable point. The MATLAB tells that these points are local minimum. But is it possible that the global minimum point can be returned in 'fminimax' ?
Thanks
x0 = ones(243,1);
P = [];
P = P.';
LB = zeros(243,1);
UB = ones(243,1);
TP = [];
aeq=[];
beq=[];
nonlcon = [@nonlinearcon];
%% options
opts_reduced = optimoptions(@fminimax,'MaxFunctionEvaluations', 10000000000);
%% fminimax
[x_ALL,fval_ALL] = fminimax(@myfun_MOLP,x0,P,TP,aeq,beq,LB,UB,nonlcon,opts_reduced);
%% myfun_MOLP
C = [123935;85425;....];
E = [12300389;....];
C = C.';
E = E.';
f(1)= 0 *((7104057.18- C*x ) /7104057.18) ; %% 100 is the arbitary weight number %%
f(2)= 100 *((1334616299.17- E*x ) /1334616299.17) ;
%%nonlinearcon
function [n,neq] = nonlinearcon(x)
neq = [5931530;29746801;....];
neq = neq.';
neq = neq*x - 531027688.5;
n = [];
end
  1 comentario
Matt J
Matt J el 14 de Feb. de 2019
Note that the minimax solution of an MOLP is an ordinary single objective linear program, and therefore can be solved instead using linprog. In particular, we can write the problem as
where the are all linear. This is a just a linear program in (x,z).

Iniciar sesión para comentar.

Respuestas (1)

Matt J
Matt J el 14 de Feb. de 2019
Editada: Matt J el 14 de Feb. de 2019
I have concerns that if I change the values on the myfun (e.g., 7104057.18 , 1334616299.17) in terms of changing decimal, the 'X_All' value changes relatively severe (e.g., the patterns are changed between no decimal point and second decimal point). Is it common phenomena?
Yes, it is normal that changing the objective function changes the solution, but maybe if you give an example, I can give a more focused answer.
The MATLAB tells that these points are local minimum. But is it possible that the global minimum point can be returned in 'fminimax' ?
It is possible if you choose the initial guess x0 sufficiently close to the global minimum.
  6 comentarios
Young Gwan Lee
Young Gwan Lee el 14 de Feb. de 2019
Okay. Here is an example.
The objective function is Min Q, subject to Wc*(Oc-∑Ci*Xi)*(1/Oc)≤Q and We*(Oe-∑Ei*Xi)*(1/Oe)≤Q, where 'Wc' is hypothetical weight for objective C, 'We' is hypotheicial weight for objective E, 'Oc' and 'Oe' are maximized values of object C and E from single objective maximization, 'Ci' and 'Ce' denote coefficient for objective C and E, Xi is a decision variable. I want to minimize the deviation 'Q' when the constaints are simultaneously satistied.
Given this example, could you please explain why the difference of X from the adjusting the decimal point from Oc and Oe is occured relatively bigger and how can I minimize that defference?
Thank you
Matt J
Matt J el 14 de Feb. de 2019
Editada: Matt J el 18 de Feb. de 2019
It's the part "adjusting the decimal point" that I don't understand. Please give an example of that.
Generally speaking, though, if you are changing Oc and Oe in any way then you are changing the problem and will get a new solution. I don't know why you think you can expect that change to be small, necessarily.

Iniciar sesión para comentar.

Etiquetas

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by