Intlinrprog (maximize) vs excel Solver (Maximize)
1 view (last 30 days)
I tried to solve a problem that the objective is to find maximize value from X1, X2, and X3 and should be in integer. So, I use the intlinprog in Matlab to find the maximize value. Since I looking for maximize, I change "f" to "-f" and the result is negative number with the result 0 X1, 4 X2, and 2 X3. Attached below :
In confused why the result is negative. Then, I tried to solve the problem using Excel Solver (maximize) and I got a reasonable result below :
The confused things is, when I set the Excel Solver to minimize and also I remove "-" in Matlab (from "-f" to "f", the result will be same between the Excel Solver and Intlinprog Matlab.
Anyone here can help me, how to solve this problem ? How to use maximize function in intlinprog properly?
Thank you for your kindly help.
Alan Weiss on 23 Aug 2021
Your problem is that you set
intcon = 3;
This means that the only variable restricted to be an integer is x(3). Instead you should write the following:
f = [10 25 45];
intcon = 1:3; % All three variables are integer
A = [1 6 3;2 2 3];
b = [30 15];
Aeq = [0 5 2];
beq = 20;
lb = [0 0 0];
x = intlinprog(-f,intcon,A,b,Aeq,beq,lb,)
MATLAB mathematical toolbox documentation