2018年4月18日水曜日

Matlab for Java : (8) 線形計画法

JavaからMatlabを使い線形計画法をやります。

関数linprogを利用します。
https://jp.mathworks.com/help/optim/ug/linprog.html
線形不等式、線形等式、および範囲を含む単純な線形計画法を解きます。
x = linprog(f,A,b,Aeq,beq,lb,ub) は、解が常に lb ≤ x ≤ ub の範囲に存在するように、設計変数 x に上限と下限を定義します。等式が存在しない場合には Aeq = [] および beq = [] と設定してください。

実際に線形計画法を作ります。aが係数でbが右辺です。左辺<=右辺
Aeqが左辺の係数、beqが右辺で等式制約です。
lbが左辺、ubが右辺で範囲の制約です。
 目的関数の係数です。
解が求まると、xが最適値をとるときのxの値、fvalは目的関数の値、exitflag = 1は解が信頼できることを示す、output.iterations = 0 は、linprog が解決の前処理で解を見つけ、反復がまったく必要なかったことを示します。
ソースコード

0 件のコメント:

コメントを投稿