最適化問題 のうち, 以下の条件を満たすものを 線形計画問題(linear programming problem) という.
LP問題 ともいう.
線形計画問題 は次のように表記できる.
$$ \begin{aligned} x_{j} , a_{ij} , b_{i} , c_{j} \in \mathbb{R} \end{aligned} $$
$$ \begin{aligned} \left \Vert \quad \begin{aligned} &\textbf{min.} \quad &&\sum_{j=1}^{n} c_{j} x_{j} \in \mathbb{R} \\ \\ &\textbf{s.t.} \quad &&\sum_{j=1}^{n} a_{ij} x_{j} \leq b_{i} \, (i = 1, \cdots , k) \\ &&&\sum_{j=1}^{n} a_{ij} x_{j} = b_{i} \, (i = k + 1, \cdots , k + l) \end{aligned} \right. \end{aligned} $$
以下,
$$ \begin{aligned} x_{j} , a_{ij} , b_{i} , c_{j} \in \mathbb{R} \end{aligned} $$
とする.
最適化問題 (最小化) は
$$ \begin{aligned} f : X \supset S \rightarrow \mathbb{R} \end{aligned} $$
$$ \begin{aligned} \left \Vert \quad \begin{aligned} &\textbf{min.} \quad f(x) \\ &\textbf{s.t.} \quad x \in S \\ \end{aligned} \right. \end{aligned} $$
と書けるので, 線形計画問題 は条件を順に書けば,
$$ \begin{aligned} &X = \mathbb{R} ^n \\ &S = \begin{Bmatrix} \left. \boldsymbol{x} = \left( \begin{array}{c} x_1 \\ \vdots \\ x_j \\ \vdots \\ x_n \end{array} \right) \in X \, \right| \, \begin{aligned} &\sum_{j=1}^{n} a_{ij} x_j \leq b_i \, (i = 1, \cdots , k) \\ &\sum_{j=1}^{n} a_{ij} x_j = b_i \, (i = k + 1, \cdots , k + l) \end{aligned} \end{Bmatrix} \\ &f : X \supset S \ni \boldsymbol{x} \longmapsto f( \boldsymbol{x} ) = \sum_{j=1}^{n} c_j x_j \in \mathbb{R} \\ &\left \Vert \quad \begin{aligned} &\textbf{min.} \quad f( \boldsymbol{x} ) \\ &\textbf{s.t.} \quad \boldsymbol{x} \in S \\ \end{aligned} \right. \end{aligned} $$
となる.
まとめて書けば,
$$ \begin{aligned} \left \Vert \quad \begin{aligned} &\textbf{min.} \quad f( \boldsymbol{x} ) = \sum_{j=1}^{n} c_j x_j \in \mathbb{R} \\ &\textbf{s.t.} \quad \boldsymbol{x} \in \begin{Bmatrix} \left. \boldsymbol{x} = \left( \begin{array}{c} x_1 \\ \vdots \\ x_j \\ \vdots \\ x_n \end{array} \right) \in X \, \right| \, \begin{aligned} &\sum_{j=1}^{n} a_{ij} x_j \leq b_i \, (i = 1, \cdots , k) \\ &\sum_{j=1}^{n} a_{ij} x_j = b_i \, (i = k + 1, \cdots , k + l) \end{aligned} \end{Bmatrix} \end{aligned} \right. \end{aligned} $$
つまり, 線形計画問題 は以下で書ける.
$$ \begin{aligned} \left \Vert \quad \begin{aligned} &\textbf{min.} \quad &&\sum_{j=1}^{n} c_{j} x_{j} \in \mathbb{R} \\ \\ &\textbf{s.t.} \quad &&\sum_{j=1}^{n} a_{ij} x_{j} \leq b_{i} \, (i = 1, \cdots , k) \\ &&&\sum_{j=1}^{n} a_{ij} x_{j} = b_{i} \, (i = k + 1, \cdots , k + l) \end{aligned} \right. \end{aligned} $$
以下の形の線形計画問題を不等式標準形という.
$$ \begin{aligned} x_{j} , a_{ij} , b_{i} , c_{j} \in \mathbb{R} \end{aligned} $$
$$ \begin{aligned} \left \Vert \quad \begin{aligned} &\textbf{min.} \quad &&\sum_{j=1}^{n} c_{j} x_{j} \in \mathbb{R} \\ \\ &\textbf{s.t.} \quad &&\sum_{j=1}^{n} a_{ij} x_{j} \geq b_{i} \, (i = 1, \cdots , m) \\ &&&x_{j} \geq 0 \, (j = 1, \cdots , n) \end{aligned} \right. \end{aligned} $$
x , C , B , A を
$$ \begin{aligned} &\boldsymbol{x} = \left( \begin{array}{c} x_{1} \cdots x_{j} \cdots x_{n} \end{array} \right) ^ \mathrm{T} \in \mathbb{R} ^n \\ &C = \left( \begin{array}{c} c_{1} \cdots c_{j} \cdots c_{n} \end{array} \right) ^ \mathrm{T} \in \mathbb{R} ^n \\ &B = \left( \begin{array}{c} b_{1} \cdots b_{i} \cdots b_{m} \end{array} \right) ^ \mathrm{T} \in \mathbb{R} ^m \\ &A = \left( \begin{array}{ccccc} a_{11} & \cdots & a_{1j} & \cdots & a_{1n} \\ \vdots && \vdots && \vdots \\ a_{i1} & \cdots & a_{ij} & \cdots & a_{in} \\ \vdots && \vdots && \vdots \\ a_{m1} & \cdots & a_{mj} & \cdots & a_{mn} \\ \end{array} \right) \in \mathbb{R} ^ {m \times n} \end{aligned} $$
とすると,
$$ \begin{aligned} C ^\mathrm{T} \boldsymbol{x} &= \left( \begin{array}{c} c_{1} \cdots c_{j} \cdots c_{n} \end{array} \right) \left( \begin{array}{c} x_{1} \\ \vdots \\ x_{j} \\ \vdots \\ x_{n} \end{array} \right) \\ \\ &= \sum_{j=1}^{n} c_{j} x_{j} \end{aligned} $$
であり,
$$ \begin{aligned} A \boldsymbol{x} &= \left( \begin{array}{ccccc} a_{11} & \cdots & a_{1j} & \cdots & a_{1n} \\ \vdots && \vdots && \vdots \\ a_{i1} & \cdots & a_{ij} & \cdots & a_{in} \\ \vdots && \vdots && \vdots \\ a_{m1} & \cdots & a_{mj} & \cdots & a_{mn} \\ \end{array} \right) \left( \begin{array}{c} x_{1} \\ \vdots \\ x_{j} \\ \vdots \\ x_{n} \end{array} \right) \\ \\ &= \left( \begin{array}{c} \sum_{j=1}^{n} a_{1j} x_{j} \\ \vdots \\ \sum_{j=1}^{n} a_{ij} x_{j} \\ \vdots \\ \sum_{j=1}^{n} a_{mj} x_{j} \end{array} \right) \end{aligned} $$
より,
不等式標準形は
$$ \begin{aligned} &\boldsymbol{x} = \left( \begin{array}{ccc} x_{1} & \cdots & x_{n} \end{array} \right) ^ \mathrm{T} \in \mathbb{R} ^n \\ &C = \left( \begin{array}{ccc} c_{1} & \cdots & c_{n} \end{array} \right) ^ \mathrm{T} \in \mathbb{R} ^n \\ &B = \left( \begin{array}{ccc} b_{1} & \cdots & b_{m} \end{array} \right) ^ \mathrm{T} \in \mathbb{R} ^m \\ &A = \left( \begin{array}{c} a_{ij} \end{array} \right) \in \mathbb{R} ^ {m \times n} \end{aligned} $$
$$ \begin{aligned} \left \Vert \quad \begin{aligned} &\textbf{min.} \quad &&f(x) = C ^\mathrm{T} \boldsymbol{x} \\ &\textbf{s.t.} \quad &&A \boldsymbol{x} \geq B \\ &&&\boldsymbol{x} \geq \boldsymbol{0} \end{aligned} \right. \end{aligned} $$
と書ける.
ただし,
$$ \begin{aligned} &\boldsymbol{0} = \left(\begin{array}{c} 0 \cdots 0 \end{array}\right) : \text{zero vector} \\ &\boldsymbol{u} = (\cdots u_i \cdots)^\mathrm{T} \geq (\cdots v_i \cdots)^\mathrm{T} = \boldsymbol{v} \overset{\text{def.}}{\Longleftrightarrow} ^\forall i , u_i \geq v_i \end{aligned} $$
とする.
以下の形の線形計画問題を等式標準形という.
$$ \begin{aligned} x_{j} , a_{ij} , b_{i} , c_{j} \in \mathbb{R} \end{aligned} $$
$$ \begin{aligned} \left \Vert \quad \begin{aligned} &\textbf{min.} \quad &&\sum_{j=1}^{n} c_{j} x_{j} \in \mathbb{R} \\ \\ &\textbf{s.t.} \quad &&\sum_{j=1}^{n} a_{ij} x_{j} = b_{i} \, (i = 1, \cdots , m) \\ &&&x_{j} \geq 0 \, (j = 1, \cdots , n) \end{aligned} \right. \end{aligned} $$
不等式標準形と同様に,
$$ \begin{aligned} &\boldsymbol{x} = \left( \begin{array}{ccc} x_{1} & \cdots & x_{n} \end{array} \right) ^ \mathrm{T} \in \mathbb{R} ^n \\ &C = \left( \begin{array}{ccc} c_{1} & \cdots & c_{n} \end{array} \right) ^ \mathrm{T} \in \mathbb{R} ^n \\ &B = \left( \begin{array}{ccc} b_{1} & \cdots & b_{m} \end{array} \right) ^ \mathrm{T} \in \mathbb{R} ^m \\ &A = \left( \begin{array}{c} a_{ij} \end{array} \right) \in \mathbb{R} ^ {m \times n} \end{aligned} $$
$$ \begin{aligned} \left \Vert \quad \begin{aligned} &\textbf{min.} \quad &&f(x) = C ^\mathrm{T} \boldsymbol{x} \\ &\textbf{s.t.} \quad &&A \boldsymbol{x} = B \\ &&&\boldsymbol{x} \geq \boldsymbol{0} \end{aligned} \right. \end{aligned} $$
と書ける.
線形計画問題は, 単体法や内点法を用いて解くことができる.
このページでは, 数式の表現に
MathJax
を利用しています.
このページでは, シンタックスハイライト(プログラムのコードに色を付ける機能)に Google Code Prettify を利用しています.
更新日: 2020/08/14
Copyright (C) 2020 laplaciannin102 All Rights Reserved.