匿名用户
1级
2016-05-26 回答
线性规划
LP(Linear programming,线性规划)是一种优化方法,在优化问题中目标函数和约束函数均为向量变量的线性函数,LP问题可描述为:
min x
s.t.
A·x b
Aeq·x=beq
vlb x vub
其中 ,b,beq均为向量,A,Aeq为矩阵,x为向量变量.矩阵A和向量b是线性不等式约束条件的系数,Aeq和beq是等式约束条件的系数.
在MATLAB中,用于LP的求解函数为linprog.其调用格式为:
[x,fval,lambda]=linprog
(f,A,b,Aeq,beq,vlb,vub,x0,options)
其中f,A,b,是不可缺省的输入变量,x是不可缺省的输出变量,它是问题的解.vlb,vub均是向量,分别表示x的下界和上界,x0为x的起始点,options为optimset函数中定义的参数的值,fval是目标函
数在解x处的值,lambda为在解x处的lagrange乘子.lambda.lower对应于vlb,lambda.upper对应于ulb,lambda.ineqlin是对应于线性不等式约束的,lambda.eqlin是对应于线性等式约束的.
下面举一个小例子看看函数的作用:
minZ=-4a+b+7c
s.t.
a+b-c=5 3a-b+c<=4
a+b-4c<=-7 a,b>=0