線形計画法(linear programming)

分類
テクノロジ系 基礎理論
出る試験
基本情報応用情報
重要度
★★★☆☆

限られた資源の中で、利益が最大になる組合せを求める方法。制約を直線で囲み、その角を調べる。

もう少し詳しい説明

線形計画法は、限られた資源の中で、利益が最大(または費用が最小)になる組合せを求める方法です。

「線形」は、出てくる式がすべて一次式(直線で表せる)という意味です。「計画法」は、英語の programming を訳したもので、計算機のプログラムとは関係ありません。

3つの材料

問題には必ず3つがそろいます。

何か例
決める値いくつ作るか製品Aを x 個、製品Bを y 個
制約条件使える資源の上限材料は80kgまで、時間は60時間まで
目的関数大きく(小さく)したいもの利益 = 300x + 400y

この3つを式にするところが、問題を解く作業のほとんどです。

解き方:角を調べる

製品Aと製品Bを作る例で見ます。

材料時間1個あたりの利益
製品A2kg1時間300円
製品B1kg2時間400円
使える量80kg70時間

式にするとこうなります。

制約:2x + y ≦ 80、x + 2y ≦ 70、x ≧ 0、y ≧ 0

目的:利益 = 300x + 400y を最大にする

制約を満たす範囲をグラフに描くと、直線で囲まれた多角形になります。

製品Bの個数 y0102030400204045製品Aの個数 x2x + y = 80x + 2y = 700円12,000円17,000円14,000円
2本の制約の線と、縦軸・横軸で囲まれた部分が、条件を満たす範囲です。塗ってあるところの中なら、どこを選んでもかまいません。角は4つあり、利益を計算すると0円・12,000円・17,000円・14,000円。いちばん大きいのは2本の線が交わる角で、17,000円です。内側に、角より良い点は現れません。

塗ってある部分が、4つの条件をすべて満たす範囲です。x ≧ 0 で左側が、y ≧ 0 で下側が切られ、残りの2本の線で右上が切られています。この中なら、どの組合せを選んでもかまいません。

角 (40, 0)利益 12,000円角 (30, 20)利益 17,000円 ← いちばん大きい角 (0, 35)利益 14,000円
制約を満たす範囲は、直線で囲まれた多角形になります。目的の式も直線なので、最大になるのは必ず角のどれかです。内側に、角より良い点は現れません。そのため、すべての点を調べる必要はなく、角だけを計算して比べれば答えが出ます。

ここが肝心なところです。

目的関数が最大になるのは、必ず多角形の頂点のどれか。

制約式も目的関数も直線なので、範囲の内側に「頂点より良い点」が現れることはありません。すべての点を調べる必要はなく、角だけを順に計算すれば答えが出ます。

上の例では、2本の制約が交わる点が (30, 20) です。

300 × 30 + 400 × 20 = 9,000 + 8,000 = 17,000円

ほかの頂点(0,35)や(40,0)も計算して比べると、ここがいちばん大きくなります。

「必ず頂点」が効く理由

目的関数 300x + 400y = 一定 は直線です。この直線を、値を大きくしながら平行に動かしていくと、多角形から出ていく直前に触れているのが頂点になります。

辺にぴったり重なることもあり、そのときはその辺の上がすべて最適解になります。頂点も含まれるので、頂点を調べれば答えは見つかります。

変数が3つ以上のとき

グラフが描けるのは、決める値が2つまでです。3つ以上になると、シンプレックス法という手順で、頂点から頂点へ良いほうへ移っていきます。

試験で計算させられるのは2変数までです。シンプレックス法は名前だけ覚えておけば足ります。

最小二乗法との違い

どちらも「最適なものを見つける」計算ですが、目的が違います。

何を求めるか
線形計画法制約の中で、いちばん得になる組合せ
最小二乗法データにいちばんよく合う直線

線形計画法は選ぶ計算、最小二乗法は当てはめる計算です。

試験ではこう出る

科目A(旧・午前)では、2変数の問題を解かせる形が出ます。制約式と利益の式が与えられ、最大の利益を答えます。頂点だけを調べればよいと知っていると、総当たりを避けられます。

制約式を立てさせる形も出ます。文章から「材料は80kgまで」を 2x + y ≦ 80 に直せるかが問われます。

「最適解は頂点にある」という性質そのものを問う選択肢も出ます。

応用情報では、待ち行列理論などと並べて、オペレーションズリサーチの手法の選択として出ることがあります。「資源配分を最適化する」なら線形計画法です。

関連する用語

最小二乗法
同じ最適化だが目的が違う。こちらは最大化・最小化、あちらは当てはめ
限界利益と限界利益率
目的の式に入れる「1個あたりいくら残るか」はこれで出す
待ち行列理論
同じオペレーションズリサーチの道具。こちらは待ち時間を求める
MRP
必要な部品量を計算する。資源の制約という点で地続き

ミニクイズ

線形計画法で最適解を探すとき、調べればよい点はどこか。

正解は 2番:制約を満たす範囲の頂点

制約式がすべて直線(一次式)なので、条件を満たす範囲は直線で囲まれた多角形になります。目的の式も直線なので、その値が最大または最小になるのは必ず頂点のどれかです。範囲の内側に、頂点より良い点が現れることはありません。そのため、すべての点を調べる必要はなく、頂点だけを順に計算して比べれば答えが出ます。中心に意味はありません。座標軸との交点は頂点の一部にすぎず、制約式どうしの交点が頂点になることもあります。

間違えた用語の復習リストを見る →

この分野をまとめて解く → 基礎理論と情報メディアのミニテスト(全39問)

最終更新:2026-10-20