matlab中fval函数,收集整理Matlab中的linprog函数使用说明 | 学步园

linprog函数是用来求解线性规划问题,其中,f,x,b,beq,lb,ub为向量,A,Aeq为矩阵。

a).x=linprog(f,A,b)

功能:求解最小化问题:min f*x,条件:A*x≤ b,返回值x为最优解向量。

b).x=linprog(f,A,b,Aeq,beq)

功能:求解最小化问题:min f*x,条件:A*x≤ b & Aeq*x=beq,如果没有不等式就设置A=[]以及b=[];没有等式就设置Aeq=[]以及beq=[]。

c).x=linprog(f,A,b,Aeq,beq,lb,ub)

功能:求解最小化问题:min f*x,条件:A*x≤ b

& Aeq*x=beq & lb ≤ x≤ ub,决策变量有上下限时,如果没有不等式就设置A=[]以及b=[];没有等式就设置Aeq=[]以及beq=[]。

d).x=linprog(f,A,b,Aeq,beq,lb,ub,x0)

功能:求解最小化问题:min f*x,条件:A*x

≤ b

& Aeq*x=beq & lb ≤ x≤ ub,,如果没有不等式就设置A=[]以及b=[];没有等式就设置Aeq=[]以及beq=[]。设置初始点x0,这个选择项只是对medium-scale

e).x=linprog(f,A,b,Aeq,beq,lb,ub,x0,options)

功能:求解最小化问题:min f*x,条件:A*x

≤ b

& Aeq*x=beq & lb ≤ x≤ ub,,如果没有不等式就设置A=[]以及b=[];没有等式就设置Aeq=[]以及beq=[]。并能设置初始点,options为指定优化参数进行最小化,options可选参数描述如下:

Display:显示水平。选择“off”不显示输出;选择“Iter”显示每一步迭代过程的输出;选择“final”显示最终结果。

MaxFunEcals:函数评价的最大允许次数;

MaxIter:最大允许迭代次数;

……

其中options可以使用optionset来设置,其他的可以在Matlab中输入:doc linprog 查看详情。

f).x=linprog(problem)

功能:对problem求你最小值,其中problem是一个结构体。通过优化工具来创建,导入到Matlab工作空间。

g).[x,fval]=linprog(……)

功能:返回目标函数最优解x,和在x处的值:fval=f*x。

h).[x,fval,exitflag]=linprog(……)

功能:返回目标函数最优解x,和在x处的值:fval=f*x,是否存在exitflag标志

i).[x,fval,exitflag,output]=linprog(……)

功能:返回目标函数最优解x,和在x处的值:fval=f*x,是否存在exitflag标志,优化解结构体output。

j).[x,fval,exitflag,output]=linprog(……)

功能:返回目标函数最优解x,和在x处的值:fval=f*x,是否存在exitflag标志,优化解结构体output,拉格朗日乘子结构体lambda。