Linprog错误-Matlab

Linprog error-Matlab

我刚刚尝试使用 matlab 解决一个简单的线性规划问题,非常简单:

找到最小化 f(x) = –5x1 – 4x2 –6x3 的 x,服从

x1 – x2 + x3 ≤ 20
3x1 + 2x2 + 4x3 ≤ 42
3x1 + 2x2 ≤ 30
0 ≤ x1, 0 ≤ x2, 0 ≤ x3.

%mfile: 首先输入系数

clc;
clear all;
close all;
f = [-5; -4; -6];
A =  [1 -1  1
  3  2  4
  3  2  0];
b = [20; 42; 30];
lb=zeros(3,1);
x = linprog(f,A,b,[],[],lb);

当我 运行 这个程序时它没有 return x 值,并且 return 出现这个错误:

Error in linprog1 (line 10)
x = linprog(f,A,b,[],[],lb); 

什么问题,我的matlab有优化工具箱,为什么它不知道linprog?我现在应该怎么办?

谢谢大家

-玛丽亚姆

经过一些调查(有关详细信息,请参阅对原始问题的评论),发现以及 MATLAB 优化工具箱的 linprog,发问者 对她进行了调查计算机复制类似 this linprog.m 的副本——我怀疑它是优化工具箱中现在的祖先,但它的参数顺序不同。

无论是"old" linprog.m还是旧约中的那个都能解题者的线性规划。所以选项是:

  • 使用 "old" 一个,适当调整代码。
  • 删除(或移动到其他地方,或重命名)"old" 并使用优化工具箱中的那个。