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

linprog

2019年05月06日 ⁄ 综合 ⁄ 共 1419字 ⁄ 字号 评论关闭

linprog

编辑本段功能简介

  求解线性规划问题

编辑本段版本支持

  MATLAB7.9

编辑本段使用方法

  求解线性规划问题:

  

线性规划问题

  线性规划问题

其中,f, x, b, beq, lb, ub为向量, A, Aeq为矩阵。

  x = linprog(f,A,b)

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

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

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

  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=[]

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

  功能:求解最小化问题 min f*x 条件 A*x ≤ b Aeq*x = beq lb ≤ x ≤ ub,如果没有不等式就设置A = []和b = []。设置初始点x0,这个选择项只是对medium-scale算法有效。默认的large-scale算法和简单的算法忽略任何初始点。

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

  功能:最小化带有参数项的线性规划问题。其中options可以使用optimset来设置。

  x = linprog(problem)

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

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

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

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

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

  [x,fval,exitflag,output] = linprog(...) Matlab中文论坛

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

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

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

应用举例

  最小解: f(x) = –5x1 – 4x2 –6x3, 满足: x1 – x2 + x3 ≤ 20 3x1 + 2x2 + 4x3 ≤ 42 3x1 + 2x2 ≤ 30 0 ≤ x1, 0 ≤ x2, 0 ≤ x3. 首先,输入系数、条件; f = [-5; -4; -6] ;A = [1 -1 1; 3 2 4 ;3 2 0]; b = [20; 42; 30]; lb = zeros(3,1); 然后,调用线性规划函数; [x,fval,exitflag,output,lambda] = linprog(f,A,b,[],[],lb);
最后,得到: x = 0.0000 15.0000 3.0000 lambda.ineqlin = 0 1.5000 0.5000 lambda.lower = 1.0000 0 0

相关函数

  quadprog, optimtool book.

抱歉!评论已关闭.