我只是尝试用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
答案 0 :(得分:0)
经过一些调查(详见原始问题的评论),发现除了MATLAB优化工具箱linprog
之外,提问者还在她的计算机上像this linprog.m这样的东西的副本 - 我怀疑它是优化工具箱中现在的祖先,但是它的参数的顺序不同。
" old" linprog.m
或OT中的那个能够解决提问者的线性程序。所以选项是: