Root LP problem is unbounded.

7 次查看(过去 30 天)
p = optimproblem;
x = optimvar('x', 2,'Type','integer','LowerBound',0,'UpperBound',Inf);
p.ObjectiveSense = 'maximize';
p.Objective = 10*x(1) + 20*x(2);
cons1 = 6*x(1) + 8*x(2) >= 48;
cons2 = x(1) + 3*x(2) >=12;
p.Constraints.cons1 = cons1;
p.Constraints.cons2 = cons2;
sol = solve(p);
sol.x
Output ----
Solving problem using intlinprog.
Root LP problem is unbounded.
Intlinprog stopped because the root LP problem is unbounded.
ans =
[]

采纳的回答

Torsten
Torsten 2022-3-1
Yes, I can see it with my naked eye that you can make the objective function as big as you like.
Take x(1) = 1e100, x(2) = 1e100, then x is feasible and the objective gives 30*1e100.

更多回答(1 个)

Janardhan Rao Moparthi
Since you do not specify the boundaries for the variable x(1) and x(2), it is giving error. instead try
  1. if the variables are not binary
lb = zeros(2,1);
ub = [inf;inf];
2.If the variables are binary
lb = zeros(2,1);
ub = [1;1];

类别

Help CenterFile Exchange 中查找有关 Linear Programming and Mixed-Integer Linear Programming 的更多信息

产品


版本

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by