现在的位置: 首页 > 综合 > 正文

收集整理Matlab中的linprog函数使用说明

2018年04月08日 ⁄ 综合 ⁄ 共 1320字 ⁄ 字号 评论关闭
文章目录

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算法有效。默认的large-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。

 

 

抱歉!评论已关闭.