min=f(x)
A*x <= b
Aeq*x = beq
lb <= x <= ub
linprog 求的是最小值,A 和 B 是不等式约束条件矩阵,Aeq 和 beq 是等式约束条件矩阵,lb 和 up 为 x 的取值范围。
函数形式有以下几种:
x=linprog(f,A,b)
x=linprog(f,A,b,Aeq,beq)
x=linprog(f,A,b,Aeq,beq,lb,ub) % 最常用的一种形式
x=linprog(f,A,b,Aeq,beq,lb,ub,x0)
x=linprog(f,A,b,Aeq,beq,lb,ub,x0,options)
[x,fval]=linprog(…)
[x, fval, exitflag]=linprog(…)
[x, fval, exitflag, output]=linprog(…)
[x, fval, exitflag, output, lambda]=linprog(…)
clear;
clc;
f=[6 3 4];
A=[1 2 -3;0 1 0];
b=[80;50];
Aeq=[1 1 1];
beq=[120];
lb=[30 0 20];
ub=[];
[x,favl]=linprog(f,A,b,Aeq,beq,lb,ub)
Optimal solution found.
x =
30.0000
50.0000
40.0000
favl =
490
>>
原文:https://www.cnblogs.com/Noturns/p/13341135.html