Questions about Multi Objective Linear Programming (MOLP) with 'fminimax'
4 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
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 Commento
Matt J
il 14 Feb 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).
Risposte (1)
Matt J
il 14 Feb 2019
Modificato: Matt J
il 14 Feb 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 Commenti
Matt J
il 14 Feb 2019
Modificato: Matt J
il 18 Feb 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.
Vedere anche
Categorie
Scopri di più su Distributed Arrays in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!