Linprog错误 - Matlab

时间:2016-04-29 11:55:28

标签: matlab mathematical-optimization

我只是尝试用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);

当我运行此程序时,它不会返回x值,并返回此错误:

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

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

谢谢大家

-Maryam

1 个答案:

答案 0 :(得分:0)

经过一些调查(详见原始问题的评论),发现除了MATLAB优化工具箱linprog之外,提问者在她的计算机上像this linprog.m这样的东西的副本 - 我怀疑它是优化工具箱中现在的祖先,但是它的参数的顺序不同。

" old" linprog.m或OT中的那个能够解决提问者的线性程序。所以选项是:

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