Using linprog but it's only returning 'Optimal solution found' with no feasible solution?

4 views (last 30 days)
This is my first time using MATLAB and I'm so confused. This is my input:
f = [-4000 -5000];
A = [6 5;
4 6;
-6 -5;
-9 -5;
-1 0;
0 -1];
b = [500 400 -300 -200 0 0];
Aeq = [];
beq = [];
X = linprog(f,A,b,Aeq,beq)
Optimal solution found.
X = 2×1
62.5000 25.0000
As you can see, all I get in return is "Optimal solution found." Is there something I'm missing possibly? I feel like it should be easy, but like I said I've never used MATLAB.

Answers (1)

Bruno Luong
Bruno Luong on 5 Sep 2022
Edited: Bruno Luong on 5 Sep 2022
It looks solution is correct to me.
Note that the Aeq = [] meaning you don"t supply equality constraint, so I need to check for inquelity constraints of the solution and the constraints are satisfied as showed here:
f = [-4000 -5000];
A = [6 5;
4 6;
-6 -5;
-9 -5;
-1 0;
0 -1];
b = [500 400 -300 -200 0 0];
Aeq = [];
beq = [];
X = linprog(f,A,b,Aeq,beq)
Optimal solution found.
X = 2×1
62.5000 25.0000
A*X-b(:)
ans = 6×1
0 0 -200.0000 -487.5000 -62.5000 -25.0000
all(A*X<=b(:))
ans = logical
1

Categories

Find more on Get Started with Optimization Toolbox in Help Center and File Exchange

Products


Release

R2022a

Community Treasure Hunt

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

Start Hunting!