Questions about Multi Objective Linear Programming (MOLP) with 'fminimax'
3 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
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
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).
Respuestas (1)
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
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.
Ver también
Categorías
Más información sobre Distributed Arrays en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!