主要内容

このページの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。

線形制約

線形制約とは

いくつかの最適化ソルバーは線形制約,つまり解xに対する制約を受け入れて,線形等式または線形不等式を満たします。線形制約を受け入れるソルバーには,fminconintlinproglinproglsqlinquadprog,多目的ソルバー,一部の全局优化工具箱ソルバーが含まれます。

線形不等式制約

線形不等式制約はA·x≤bの形式になります。一个が m 行 n 列の場合、n 個の要素をもつ変数 x に対し m 個の制約条件があります。m 行 n 列の行列 A と m 要素のベクトル b を入力します。

引数一个およびbでの線形不等式制約を渡します。

たとえば,以下の線形不等式不等式を制約として考えてみましょう。

x1+ x3.≤4,
2 x2- x3.≥2,
x1- x2+ x3.- x4≥9。

ここで,m = 3n = 4です。

以下の行列一个とベクトルbを使用して,これらの制約を記述します。

一个 1 0 1 0 0 2 1 0 1 1 1 1 b 4 2 9

“大なり”の不等式は1を乗算して”小なり”の不等式の形式に変換されていることに注意してください。MATLAB®構文では次のようになります。

A = [1 0 1 0;0 -2 0;-1 1 -1 1];b =(4; 2、9);

線形制約に勾配を与える必要はありません。ソルバーが自動的に勾配を計算します。線形制約はヘッシアンに影響を与えません。

初期点x0を行列として渡す場合でも,ソルバーは現在の点xを列ベクトルとして線形制約に渡します。詳細は,行列引数を参照してください。

より複雑な線形制約の例については,線形計画法の設定,ソルバーベースを参照してください。

中間の反復は線形制約に違反する可能性があります。詳細は,反復は制約に違反する可能性ありを参照してください。

線形等式制約

線形等式はAeq·x =说真的の形式をもちます。これはn要素のベクトルxをもつm個の等式を表します。m行n列の行列Aeqとm要素のベクトルbeqを入力します。

線形不等式制約で説明した引数一个およびbの場合と同じように,引数Aeqおよび说真的での線形等式制約を渡します。

関連するトピック