linprog

linprog,計算機用語,是一種求解線性規劃問題的指令。

基本介紹

  • 中文名:linprog
  • 功能簡介:求解線性規劃問題
  • 版本支持:MATLAB6.0及以上版本
  • 相關函式:quadprog, optimtool book.
使用方法,套用舉例,

使用方法

求解線性規劃問題:
其中,f, x, b, beq, lb, ub為向量, A, Aeq為矩陣。
線性規劃問題線性規劃問題
x = linprog(f,A,b)
功能:求解最小化問題 min
*x 條件 A*x ≤ b。
x = linprog(f,A,b,Aeq,beq)
功能:求解最小化問題 min
*x 條件 A*x ≤ b Aeq*x = beq,如果沒有不等式就設定A = [ ]和b = [ ];沒有等式就設定 Aeq=[ ],beq=[ ]
x = linprog(f,A,b,Aeq,beq,lb,ub)
功能:求解最小化問題 min
*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
*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 =
*x.
[x,fval,exitflag] = linprog(...)
功能:返回目標函式最優解x,和在x處的值:fval =
*x,是否存在exitflag標誌
[x,fval,exitflag,output] = linprog(...)
功能:返回目標函式最優解x,和在x處的值:fval =
*x,是否存在exitflag標誌,最佳化解結構體output
[x,fval,exitflag,output,lambda] = linprog(...)
功能:返回目標函式最優解x,和在x處的值:fval =
*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.

相關詞條

熱門詞條

聯絡我們