実数 についての次の線形計画問題を考える。
基底解を列挙することにより、この問題の最適解を求め、組 の形で答えよ。
端点(基底解)の列挙による最適解
最適解が実行可能領域の端点に現れることを使える。制約のいくつかを等号にした連立 1 次方程式で基底解を求め、実行可能かを確かめて目的関数の値を比べ、3 変数以上の線形計画問題の最適値と最適解を求められる
前提
- 線形計画問題の定式化と標準形 (大学数学 最適化・線形計画法)
- 掃き出し法と連立 1 次方程式 (大学数学 線形代数)
この技能までの道筋(49 技能)
読み込み中…
右端(太枠)がこの技能です。左へドラッグすると、さらに前の前提をさかのぼれます。技能を押すと、そこまでの道筋が光ります。
一覧で見る(前提が先)
- 三角形の角の大きさ (算数 平面図形)
- 対頂角と平行線の同位角・錯角 (中学数学 平面図形)
- 三角形の外角と角の組み合わせ (中学数学 平面図形)
- 小数の四則計算 (算数 計算と数のきまり)
- 分数のたし算・ひき算 (算数 計算と数のきまり)
- 分数のかけ算・わり算 (算数 計算と数のきまり)
- 小数と分数のまじった計算 (算数 計算と数のきまり)
- 逆算(□ を求める) (算数 計算と数のきまり)
- 正負の数の加法・減法 (中学数学 数と式)
- 四則の混じった計算の順序 (算数 計算と数のきまり)
- 正負の数の乗除・累乗と四則混合 (中学数学 数と式)
- 分配法則を使った計算のくふう (算数 計算と数のきまり)
- 文字式の計算(同類項・分配法則) (中学数学 数と式)
- 1 次方程式の解き方 (中学数学 方程式)
- 二等辺三角形の角 (中学数学 平面図形)
- 平行四辺形と特別な四角形の性質 (中学数学 平面図形)
- 三角形・四角形の面積 (算数 平面図形)
- 約数の見つけ方 (算数 整数の性質)
- 素因数分解と約数の個数 (算数 整数の性質)
- 平方根の意味と根号の簡単化 (中学数学 数と式)
- 三平方の定理 (中学数学 相似と三平方の定理)
- 乗法公式による展開 (中学数学 数と式)
- 折り返した図形の角と長さ (中学数学 平面図形)
- 三平方の定理と平面図形 (中学数学 相似と三平方の定理)
- 最大公約数と最小公倍数 (算数 整数の性質)
- 比の性質と簡単な比 (算数 割合と比)
- 相似な三角形と長さの比 (算数 平面図形)
- 三角形の相似条件と対応する辺の長さ (中学数学 相似と三平方の定理)
- 平行線と線分の比 (中学数学 相似と三平方の定理)
- 2点間の距離と内分点・外分点 (数学II 図形と方程式)
- 比例・反比例の式とグラフ (中学数学 関数)
- 関数 の式と変域 (中学数学 関数)
- 因数分解 (中学数学 数と式)
- 平方完成と 2 次関数のグラフ (数学I 2次関数)
- 円の方程式 (数学II 図形と方程式)
- 連立方程式の解き方(加減法・代入法) (中学数学 方程式)
- 1 次関数の式の求め方 (中学数学 関数)
- 直線の方程式 (数学II 図形と方程式)
- 不等式の表す領域 (数学II 図形と方程式)
- 点と直線の距離 (数学II 図形と方程式)
- 2 次不等式 (数学I 2次関数)
- 円と直線の位置関係と弦の長さ (数学II 図形と方程式)
- 2直線の平行・垂直 (数学II 図形と方程式)
- 円の接線 (数学II 図形と方程式)
- 領域における最大・最小 (数学II 図形と方程式)
- ベクトルの演算と成分 (数学C ベクトル)
- 行列の和・積と 2 次の逆行列 (大学数学 線形代数)
- 線形計画問題の定式化と標準形 (大学数学 最適化・線形計画法)
- 掃き出し法と連立 1 次方程式 (大学数学 線形代数)
説明
変数が 3 個以上あると、線形計画問題をグラフで解くのは難しくなります。そこで、実行可能領域の『角』にあたる点(端点)を連立 1 次方程式で計算して書き出し、目的関数の値を比べて最適解を求めます。この方法は、『実行可能な点があり、目的関数が上に有界なら、最大値は有限個の基底解のどれかで達成される』という事実にもとづいています。変数や制約が少ない問題なら、手計算で確実に解けます。また、シンプレックス法を理解する土台にもなります。
なぜそうしてよいのか
まず用語を決めます。 次元の列ベクトル について、 を満たす数の組が しかないとき、これらは 1 次独立であるといいます。そうでないとき、つまりどれかの列が残りの列の組合せで表せるとき、1 次従属であるといいます。 本の式と 個の未知数からなる連立 1 次方程式は、係数の列が 1 次独立なら掃き出し法で単位行列まで変形でき、解がただ 1 つに決まります。1 次従属なら、解がないか、無数にあります。なお、1 次独立な列の個数は高々 個です。
標準形 , , , を考えます。 は 行列で、 は 個のスラック変数です。全変数をまとめて と書くと、条件は , となります。ここで は 次の単位行列です。 は の 本の列を含むので、1 次独立な列を 本とれます(階数が )。 とおくのは制約 を等号にすること、 とおくのは 番目の不等式を等号にすることにあたります。そこで、列が 1 次独立になる 個の変数(基底変数)を選び、残りの 個(非基底変数)を とおきます。残った 元の方程式のただ 1 つの解を基底解と呼び、全変数が 以上の基底解を実行可能基底解と呼びます。実行可能基底解は領域の端点、つまり他の 2 つの実行可能な点を結ぶ線分の途中にはない『角』の点にあたります。3 変数なら、境界の平面 3 枚がちょうど 1 点で交わる点です。
最大値がどこかの実行可能基底解で達成されることを示します。目的関数 は上に有界、つまり実行可能な点での の値がある一定の数以下に収まるとします。実行可能な点 を 1 つとり、 で正の値をとる変数の列が 1 次従属だとします。すると、正の変数の位置以外の成分が で、 を満たす がとれます。 とおくと、 です。向きは次のように選びます。 なら を に取りかえて、 にします。 で に負の成分がないなら、すべての で は実行可能で、 となります。これは有界性に反するので、この場合 には必ず負の成分があります。 なら、 なので と のどちらかは負の成分をもちます。そちらを選びます。こうして、 で、負の成分をもつ が得られます。 を から増やすと、 は減りません。 である変数のどれかがちょうど になる で止めると、 は実行可能で、正の変数が少なくとも 1 つ減ります。この操作を繰り返すと、正の変数は有限個しかないので、いずれ正の変数の列が 1 次独立な点 にたどりつきます。このとき です。
が実行可能基底解であることを確かめます。 の正の変数が 個とすると です。 のとき(退化の場合)でも、 の階数は なので、他の列を付け足して 1 次独立な 本の列にできます。この 個を基底変数とすると、残りの変数は ですべて です。基底変数の方程式は解がただ 1 つなので、その解は そのものになります。よって は実行可能基底解です。以上から、どの実行可能な点 についても、 となる実行可能基底解 があります。実行可能基底解は高々 個しかありません。したがって、その中で が最大のものが元の問題の最適解です。
手順
スラック変数を加えて標準形 () に直す。等式の本数 と変数の総数 を確認する。
実行可能領域が有界であるなどの理由で、目的関数が上に有界であることを確かめる。
基底変数の候補を 個選び、残りの 個を とおく。選び方は全部で 通りある。
残った 元連立 1 次方程式を掃き出し法で解く。解がない組や解が無数にある組(列が 1 次従属な組)は、基底解にならないので除外する。
求めた解で、スラック変数も含めた全変数が 以上かを確かめる。負の変数が 1 つでもあれば実行不可能なので除外する。
残った実行可能基底解それぞれで目的関数の値を計算し、最大のものを最適値・最適解とする。
例題
, , のもとで、 の最大値 と最適解 を求め、 の組で答えよ。
例題の解答
【手順1】スラック変数 を加えると、, となる。等式は 本で、変数は の 5 個である。
【手順2】 と から、元の変数 はそれぞれ 以下である。スラック変数は , となる。よって であり、 は上に有界である。原点は実行可能なので、最大値が存在する。
【手順3〜5】基底変数の組は 通りある。それぞれ、選ばなかった 3 個の変数を とおいて解く。
(1) : , より 。実行可能で、。
(2) : , 。実行不可能。
(3) : , 。実行不可能。
(4) : , 。実行可能で、。
(5) : より 、。実行可能で、。
(6) : , 。実行可能で、。
(7) : , 。実行不可能。
(8) : 2 本目が となり解がない(両方の列が で 1 次従属)。基底解ではない。
(9) : , 。実行可能で、。
(10) : , (原点)。実行可能で、。
【手順6】実行可能基底解での の値は で、最大は (5) の である。このとき となる。
答え:
よくある誤り
実行可能かの確認を元の変数 だけで済ませ、スラック変数の符号を見落とす誤り。例題の (7) は で、 はすべて 以上なので、 が最大に見えてしまう。しかし であり、制約 を破っている。正しくは、 も含めた全変数が 以上のものだけを残す。
選んだ組の連立方程式が解をただ 1 つもつかを確かめずに進める誤り。例題の (8) は、両方の列が で 1 次従属なので、 となって解がない。正しくは、解がない組や解が無数にある組は基底解ではないので除外する。
目的関数が上に有界でないのに、端点での最大値を最適値としてしまう誤り。例えば , , では、実行可能な端点は だけで、その最大は になる。しかし とすれば はいくらでも大きくなり、最大値は存在しない。正しくは、上に有界であることを確かめてから端点を比べる。
基底変数の個数を等式の本数 ではなく、元の変数の数 にそろえてしまう誤り。例題で 3 個を基底変数に選ぶと、2 本の式に未知数が 3 個となり、解が 1 つに決まらない。正しくは、基底変数は 個とし、残りの 個を とおく。
この説明は AI が書き、別の AI が例題を独立に解いて答えを確かめ、説明を一歩ずつ査読しました。
入口の問題
実数 についての次の線形計画問題を考える。
基底解をすべて求めて調べることにより、 の最大値と、最大値を与える を求めよ。答えは の順の組で答えよ。実数 についての次の線形計画問題を考える。
基底解をすべて求めて実行可能かを調べることにより、この問題の最適解 を求めよ。
この技能を使う問題
実数 が次の制約条件を満たすとする。
このとき、目的関数 の最大値を求めよ。実数 についての次の線形計画問題を考える。
この問題の最適解はただ 1 つである。最適解 を組で求めよ。つの倉庫 から つの店舗 へ、ある品物を輸送する。倉庫 の在庫はそれぞれ , (単位:トン)で、在庫はすべて出荷する。店舗 の需要はそれぞれ , , (トン)で、ちょうど需要量だけ受け取る。 トンあたりの輸送費(単位:万円)は次の表のとおりである。
ただし、 から への輸送量は トン以下でなければならない。各経路の輸送量は 以上の実数で、総輸送費は各経路の(輸送量)( トンあたりの輸送費)の和とする。総輸送費の最小値(万円)を求めよ。
実数 についての次の線形計画問題 を考える。
の最適解はただ 1 つである。双対問題を利用して、その最適解 をこの順に求めよ。4 個のデータ点
に、直線 を当てはめる。ここでは、残差の絶対値 の最大値を最小にする直線を考える(チェビシェフ近似)。この問題は、実数 を変数とする次の線形計画問題 として書ける。
の最適解はただ一つに定まる。その最適解 を、この順の組で求めよ。4 個のデータ点
に直線 を当てはめる。残差 の絶対値の最大値 を最小にしたい。これは、実数 を変数とする次の線形計画問題として書ける。
この線形計画問題の最適解はただ 1 つである。その最適解 を求めよ。実数 についての次の線形計画問題 を考える。
の双対問題を作って解き、相補性条件を用いることで、 の最適解 を求めよ(最適解はただ 1 つに定まる)。答えは組 の形で答えよ。
この技能の次に学べること
- 単体法 (大学数学 最適化・線形計画法)