<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://ja.iwschool.org/wiki/skins/common/feed.css?207"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ja">
		<id>http://ja.iwschool.org/wiki/index.php?action=history&amp;feed=atom&amp;title=%E7%B7%9A%E5%BD%A2%E8%A8%88%E7%94%BB%E6%B3%95%EF%BC%88%E3%82%B3%E3%83%94%E3%83%BC%EF%BC%89</id>
		<title>線形計画法（コピー） - 変更履歴</title>
		<link rel="self" type="application/atom+xml" href="http://ja.iwschool.org/wiki/index.php?action=history&amp;feed=atom&amp;title=%E7%B7%9A%E5%BD%A2%E8%A8%88%E7%94%BB%E6%B3%95%EF%BC%88%E3%82%B3%E3%83%94%E3%83%BC%EF%BC%89"/>
		<link rel="alternate" type="text/html" href="http://ja.iwschool.org/wiki/index.php?title=%E7%B7%9A%E5%BD%A2%E8%A8%88%E7%94%BB%E6%B3%95%EF%BC%88%E3%82%B3%E3%83%94%E3%83%BC%EF%BC%89&amp;action=history"/>
		<updated>2026-04-28T23:13:14Z</updated>
		<subtitle>このウィキのこのページに関する変更履歴</subtitle>
		<generator>MediaWiki 1.15.4</generator>

	<entry>
		<id>http://ja.iwschool.org/wiki/index.php?title=%E7%B7%9A%E5%BD%A2%E8%A8%88%E7%94%BB%E6%B3%95%EF%BC%88%E3%82%B3%E3%83%94%E3%83%BC%EF%BC%89&amp;diff=11369&amp;oldid=prev</id>
		<title>Moderator:&amp;#32;ページの作成: メディア:Example.ogg線形計画法は [https://ja.wikipedia.org/wiki/%E7%B7%9A%E5%9E%8B%E8%A8%88%E7%94%BB%E6%B3%95 線形計画法] （Wikipedia）に説明がある.  …</title>
		<link rel="alternate" type="text/html" href="http://ja.iwschool.org/wiki/index.php?title=%E7%B7%9A%E5%BD%A2%E8%A8%88%E7%94%BB%E6%B3%95%EF%BC%88%E3%82%B3%E3%83%94%E3%83%BC%EF%BC%89&amp;diff=11369&amp;oldid=prev"/>
				<updated>2020-12-22T09:31:55Z</updated>
		
		<summary type="html">&lt;p&gt;ページの作成: &lt;a href=&quot;/wiki/index.php?title=%E7%89%B9%E5%88%A5:%E3%82%A2%E3%83%83%E3%83%97%E3%83%AD%E3%83%BC%E3%83%89&amp;amp;wpDestFile=Example.ogg&quot; class=&quot;new&quot; title=&quot;Example.ogg&quot;&gt;メディア:Example.ogg&lt;/a&gt;線形計画法は [https://ja.wikipedia.org/wiki/%E7%B7%9A%E5%9E%8B%E8%A8%88%E7%94%BB%E6%B3%95 線形計画法] （Wikipedia）に説明がある.  …&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新規ページ&lt;/b&gt;&lt;/p&gt;&lt;div&gt;[[メディア:Example.ogg]]線形計画法は&lt;br /&gt;
[https://ja.wikipedia.org/wiki/%E7%B7%9A%E5%9E%8B%E8%A8%88%E7%94%BB%E6%B3%95 線形計画法]&lt;br /&gt;
（Wikipedia）に説明がある.&lt;br /&gt;
&lt;br /&gt;
解法には&lt;br /&gt;
&lt;br /&gt;
[https://ja.wikipedia.org/wiki/%E3%82%B7%E3%83%B3%E3%83%97%E3%83%AC%E3%83%83%E3%82%AF%E3%82%B9%E6%B3%95 シンプレックス法]（Wikipedia）や[https://ja.wikipedia.org/wiki/%E5%86%85%E7%82%B9%E6%B3%95 内点法]（Wikipedia）がある.&lt;br /&gt;
シンプレクス法は[https://www.sist.ac.jp/~suganuma/kougi/other_lecture/SE/opt/linear/linear.htm#1.2 [菅沼]]の解説が判りやすい．&lt;br /&gt;
&lt;br /&gt;
ここでは2つの例を用いて説明する.　Microsoft　Excel　のソルバーを用いた解法例も説明する.&lt;br /&gt;
&lt;br /&gt;
==生産計画==&lt;br /&gt;
&lt;br /&gt;
例題1&lt;br /&gt;
&lt;br /&gt;
ある製造会社があって, $x$ と $y$ という２種類の製品の製造販売をしている.&lt;br /&gt;
これらを製造するには, 原材料$A$，$B$，$C$が必要で, $x$, $y$をそれぞれ1単位当&lt;br /&gt;
たり造るのに必要な量と, 使用できる在庫量が下の表のように決まっている．&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;3&amp;quot; class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center; &amp;quot;&lt;br /&gt;
|原材料＼製品&lt;br /&gt;
|x &lt;br /&gt;
|y&lt;br /&gt;
|在庫量&lt;br /&gt;
|-&lt;br /&gt;
||A &lt;br /&gt;
|10&lt;br /&gt;
|20&lt;br /&gt;
|400&lt;br /&gt;
|-&lt;br /&gt;
||B&lt;br /&gt;
|20&lt;br /&gt;
|10&lt;br /&gt;
|600&lt;br /&gt;
|-&lt;br /&gt;
||C&lt;br /&gt;
|15&lt;br /&gt;
|40&lt;br /&gt;
|1300&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
$x$, $y$を販売するとそれぞれ1単位当たり２万円, 1万円の利益が得られる.&lt;br /&gt;
問題は, 表の在庫量の範囲で, $x$と$y$をそれぞれ何単位ずつ造れば利益が最大に&lt;br /&gt;
なるかである。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===線形計画法(1)===&lt;br /&gt;
&lt;br /&gt;
これを数式化すると, $x$, $y$の製造量を$x$, $y$で表すとして：&lt;br /&gt;
&lt;br /&gt;
原材料$A$, $B$, $C$についての制約から&lt;br /&gt;
&lt;br /&gt;
$&lt;br /&gt;
 10x+20y\leq 400  \qquad (1) \\&lt;br /&gt;
 20x+10y\leq 600  \qquad (2) \\&lt;br /&gt;
 15x+40y\leq 1300 \qquad (3) &lt;br /&gt;
$&lt;br /&gt;
&lt;br /&gt;
負の生産量はないのであるから &lt;br /&gt;
&lt;br /&gt;
$&lt;br /&gt;
 0\leq x \qquad (4) \\&lt;br /&gt;
 0\leq y \qquad (5) \\&lt;br /&gt;
$&lt;br /&gt;
&lt;br /&gt;
利益は  &lt;br /&gt;
&lt;br /&gt;
$&lt;br /&gt;
f(x,y)=2x+y \qquad (6)&lt;br /&gt;
$&lt;br /&gt;
&lt;br /&gt;
で結局, (6)を$(1)\sim (5)$の条件のもとで最大にすることになる。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
下の図は関数$f(x,y)=2x+y$の図である。&lt;br /&gt;
&lt;br /&gt;
(図1.0)[[ファイル:Fig1.0.gif|400px]]&lt;br /&gt;
&lt;br /&gt;
条件$(1)\sim (5)$を充たす点$P=(x,y)$は&lt;br /&gt;
下のような,凸多角形の境界線も含めた内部にある。&lt;br /&gt;
&lt;br /&gt;
(図1.1)[[ファイル:Fig1.1.gif|400px]]&lt;br /&gt;
&lt;br /&gt;
この凸多角形の頂点を&lt;br /&gt;
$&lt;br /&gt;
P_0=(x_0,y_0),P_1=(x_1,y_1),P_2=(x_2,y_2),P_3=(x_3,y_3),P_4=(x_4,y_4)&lt;br /&gt;
$&lt;br /&gt;
とすると,&lt;br /&gt;
&lt;br /&gt;
内部の点$P=(x,y)$はこれらの頂点$P_i=(x_i,y_i),i=0,1,2,3,4$によって&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
$&lt;br /&gt;
(1) \qquad P=\lambda_0 P_0 + \lambda_1 P_1+\lambda_2 P_2+\lambda_3 P_3+\lambda_4 P_4 \\&lt;br /&gt;
(2) \qquad \lambda_0  + \lambda_1 +\lambda_2 +\lambda_3 +\lambda_4 =1 \\&lt;br /&gt;
(3) \qquad 0 \le \lambda_0 \le 1,~~0 \le \lambda_1 \le 1,~~2 \le \lambda_2 \le 1,&lt;br /&gt;
0 \le \lambda_3 \le 1,~~0 \le \lambda_4 \le 1&lt;br /&gt;
$&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
で表される。これを$P_i=(x_i,y_i),i=0,1,2,3,4$の凸結合という．&lt;br /&gt;
&lt;br /&gt;
$&lt;br /&gt;
 f(x,y)=2x+y \qquad (6)&lt;br /&gt;
$&lt;br /&gt;
&lt;br /&gt;
には「線形性」が成り立っている.&lt;br /&gt;
&lt;br /&gt;
これは&lt;br /&gt;
$&lt;br /&gt;
P=(x,y),Q=(x',y')  &lt;br /&gt;
$&lt;br /&gt;
&lt;br /&gt;
と$\alpha,\beta$について,&lt;br /&gt;
&lt;br /&gt;
$&lt;br /&gt;
f(\alpha P+ \beta Q)=f(\alpha (x,y)+\beta (x',y'))&lt;br /&gt;
=\alpha f(x,y)+\beta f(x',y')=\alpha f(P)+\beta f(Q)&lt;br /&gt;
$&lt;br /&gt;
&lt;br /&gt;
という性質である。この線形性を使うと,以下の議論ができる。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
まず各頂点での関数$f$の値&lt;br /&gt;
&lt;br /&gt;
$&lt;br /&gt;
f(P_i)=f(x_i,y_i),i=0,1,2,3,4&lt;br /&gt;
$&lt;br /&gt;
&lt;br /&gt;
のうち最大値を$f(P_*)=f(x_*,y_*)$とする.&lt;br /&gt;
&lt;br /&gt;
凸多角形の内の任意の点$P=(x,y)$に対する$f(P)=f(x,y)$は&lt;br /&gt;
&lt;br /&gt;
$P$が$P_i=(x_i,y_i),i=0,1,2,3,4$&lt;br /&gt;
の凸結合で表されることから&lt;br /&gt;
&lt;br /&gt;
$ f(P)=f(\lambda_0 P_0 + \lambda_1 P_1+\lambda_2 P_2+\lambda_3 P_3+\lambda_4 P_4)$&lt;br /&gt;
&lt;br /&gt;
さらに$f$の線形性から&lt;br /&gt;
&lt;br /&gt;
$&lt;br /&gt;
右辺=\lambda_0 f(x_0,y_0) + \lambda_1 f(x_1,y_1)&lt;br /&gt;
+\lambda_2 f(x_2,y_2)+\lambda_3 f(x_3,y_3)+\lambda_4f(x_4,y_4) （ｆの線形性） &lt;br /&gt;
$&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
$f(P_*)=f(x_*,y_*)$が最大で,(3)のように各$\lambda_i$は正の数($1 \ge &lt;br /&gt;
\lambda_i \ge 0$)であるから,&lt;br /&gt;
&lt;br /&gt;
$&lt;br /&gt;
右辺\le (\lambda_0  + \lambda_1 +\lambda_2 +\lambda_3 +\lambda_4)f(x_*,y_*)\\&lt;br /&gt;
$&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
さらに,(2)から&lt;br /&gt;
&lt;br /&gt;
$&lt;br /&gt;
\lambda_0  + \lambda_1 +\lambda_2 +\lambda_3 +\lambda_4= 1&lt;br /&gt;
$&lt;br /&gt;
&lt;br /&gt;
で&lt;br /&gt;
&lt;br /&gt;
$&lt;br /&gt;
f(P)=f(x,y) \le   f(x_*,y_*)=f(P_*)&lt;br /&gt;
$&lt;br /&gt;
&lt;br /&gt;
となる。結局,関数$f$の制約条件を表す凸多角形の内部(境界を含む)の点全てを調べる必要がなく、&lt;br /&gt;
&lt;br /&gt;
頂点での関数$f$の値を調べれば良いことが判る．&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
(図1.2)[[ファイル:Fig1.2.gif|400px]]&lt;br /&gt;
&lt;br /&gt;
$(1)\sim(5) $式のように変数に関する制約条件式が1次式で与えられ,&lt;br /&gt;
$(6)$式のように評価関数も1次式で与えられる問題は[https://ja.wikipedia.org/wiki/%E7%B7%9A%E5%9E%8B%E8%A8%88%E7%94%BB%E6%B3%95 線形計画法]と呼ばれる.&lt;br /&gt;
&lt;br /&gt;
線形化計画法の代表的な解法であるシンプレクス法は,制約条件を表す凸多角形の頂点での&lt;br /&gt;
関数$f$の値を効率的に調べる方法である。&lt;br /&gt;
適当な,頂点から始め,関数$f$の値が増大する頂点へ次々移動して,最大解を探す．&lt;br /&gt;
&lt;br /&gt;
この他に,凸多角形の内部の点から,最大解を与える頂点を探索する内点法もある。&lt;br /&gt;
&lt;br /&gt;
===線形計画法(2)===&lt;br /&gt;
&lt;br /&gt;
例題2&lt;br /&gt;
&lt;br /&gt;
ある企業では製品A,B,Cを原料Ⅰ,Ⅱ,Ⅲ,Ⅳ用いて生産している.　製品A,B,C の1単位当たり利益をそれぞれ80,110,95とする．&lt;br /&gt;
　また, 製品A,B,Cを1単位生産するのに必要な原料Ⅰ,Ⅱ,Ⅲ,Ⅳのそれぞれ量と使用可能な上限が次の表で与えられる.&lt;br /&gt;
これらの条件のもとに,利益を最大にするには製品A,B,Cをそれぞれ,どれだけ生産すれば良いか?.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;3&amp;quot; class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center; &amp;quot;&lt;br /&gt;
|原材＼製品名&lt;br /&gt;
|A &lt;br /&gt;
|B&lt;br /&gt;
|C&lt;br /&gt;
|使用できる上限&lt;br /&gt;
|-&lt;br /&gt;
|Ⅰ&lt;br /&gt;
|4&lt;br /&gt;
|0&lt;br /&gt;
|7&lt;br /&gt;
|90&lt;br /&gt;
|-&lt;br /&gt;
|Ⅱ&lt;br /&gt;
|1&lt;br /&gt;
|3&lt;br /&gt;
|9&lt;br /&gt;
|60 &lt;br /&gt;
|-&lt;br /&gt;
|Ⅲ&lt;br /&gt;
|6&lt;br /&gt;
|0&lt;br /&gt;
|14&lt;br /&gt;
|110 &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|Ⅳ&lt;br /&gt;
|4&lt;br /&gt;
|10&lt;br /&gt;
|1&lt;br /&gt;
|75&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
この問題も例題1と同じように以下のように数学的に定式化される．&lt;br /&gt;
製品A,B,Cをそれぞれ$x_1,x_2,x_3$ 単位生産するとき$x_1,x_2,x_3$は以下の不等式を満たす.&lt;br /&gt;
&lt;br /&gt;
$&lt;br /&gt;
4x_1+0x_2+7x_3 \leq  90 \\&lt;br /&gt;
1x_1+3x_2+9x_3 \leq  60 \\&lt;br /&gt;
6x_1+0x_2+14x_3 \leq 110 \\&lt;br /&gt;
4x_1+10x_2+1x_3 \leq    75　\qquad (1)&lt;br /&gt;
$&lt;br /&gt;
&lt;br /&gt;
さらに各製品生産量は負ではないから&lt;br /&gt;
&lt;br /&gt;
$&lt;br /&gt;
0 \leq x_1,0 \leq x_2,0 \leq x_3 \qquad (2)　&lt;br /&gt;
$&lt;br /&gt;
&lt;br /&gt;
この制約条件のもとに&lt;br /&gt;
&lt;br /&gt;
$&lt;br /&gt;
L\left(x_1,x_2, x_3 \right)=80x_1+110x_2+95x_3 \qquad (3)　　&lt;br /&gt;
$&lt;br /&gt;
&lt;br /&gt;
を最大にする$x_1,x_2, x_3$を求めよ.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
この問題の解法には[https://ja.wikipedia.org/wiki/%E3%82%B7%E3%83%B3%E3%83%97%E3%83%AC%E3%83%83%E3%82%AF%E3%82%B9%E6%B3%95 シンプレックス法]や[https://ja.wikipedia.org/wiki/%E5%86%85%E7%82%B9%E6%B3%95 内点法]がある.&lt;br /&gt;
シンプレクス法は[https://www.sist.ac.jp/~suganuma/kougi/other_lecture/SE/opt/linear/linear.htm#1.2 [菅沼]]の解説が判りやすい．&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
この問題を解くのにはMicrosoft Excelのソルバーや&lt;br /&gt;
フリーソフトのOpen Office で提供されるソルバーと同等の機能をもつソフトを用いることができる.&lt;br /&gt;
この問題のMicrosoft Excelのソルバーによる解法例を示す。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Microsoft Excelのソルバー　を用いる. &lt;br /&gt;
*ソルバーの導入&lt;br /&gt;
*Excel　の　メニュー「データ」に「分析」「ソルバー」がある場合は以下の手続きは不要である．　&lt;br /&gt;
そのままソルバーによる解法の例を実行する．　&lt;br /&gt;
*Excelのメニュー「データ」に「分析」「ソルバー」がない場合&lt;br /&gt;
**ファイル　&amp;gt;　オプション　&amp;gt;　アドイン　の順に選択&lt;br /&gt;
**アドインの表示窓　アクティブでないアプリケーションにExcelソルバー　があることを確認&lt;br /&gt;
**画面下の管理(A)と表示される小さい窓のドロップダウンリスト▼でExcelアドインを選択後，設定(G)をクリック&lt;br /&gt;
**有効なアドインが小窓で表示される.　その中のソルバーアドインを選択しチェックを入れ[OK]をクリックする.&lt;br /&gt;
&lt;br /&gt;
*ソルバーによる解法の例　&lt;br /&gt;
**Excelに下記の作成例のように表１のデータを作成する.&lt;br /&gt;
[[ファイル:LP-Fig.2.jpg|500px]]&lt;br /&gt;
&lt;br /&gt;
[[ファイル:LP-Fig3.jpg|500px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
この作成例では&lt;br /&gt;
セル　B2,C2,D2　が　製品A,B,Cのそれぞれの生産量&lt;br /&gt;
$x_1,x_2,x_3$を表す.&lt;br /&gt;
&lt;br /&gt;
** 線形の一次式&lt;br /&gt;
$&lt;br /&gt;
4x_1+0x_2+7x_3\\&lt;br /&gt;
1x_1+3x_2+9x_3 \\&lt;br /&gt;
6x_1+0x_2+14x_3 \\&lt;br /&gt;
4x_1+10x_2+1x_3&lt;br /&gt;
$&lt;br /&gt;
&lt;br /&gt;
をE3, E4, E5, E6に入力している.&lt;br /&gt;
&lt;br /&gt;
ここで,sumproduct(B4:D4,B$2:D$2)はベクトル(B4,C4,D4) と(B2,C2,D2)の内積　B4*B2+C4*C2+D4*D2　&lt;br /&gt;
であり$4x_1+0x_2+7x_3$　を表す．&lt;br /&gt;
&lt;br /&gt;
**F3,F4, F5, F6には,原材料Ⅰ,Ⅱ,Ⅲ,Ⅳの使用できる量の上限を入力している.&lt;br /&gt;
&lt;br /&gt;
**E7には&lt;br /&gt;
&lt;br /&gt;
$&lt;br /&gt;
L\left(x_1,x_2, x_3 \right)=80x_1+110x_2+95x_3 　　&lt;br /&gt;
$&lt;br /&gt;
&lt;br /&gt;
を表す式を入力している．&lt;br /&gt;
** 表のデータを入力後,&lt;br /&gt;
***	メニュー　「データ」，「分析」，「ソルバー」の順にクリックしてソルバーのパラメータ入力用の窓を開く．&lt;br /&gt;
[[ファイル:LP-Fig.4.jpg|500px]]&lt;br /&gt;
***	目的の設定という欄にセルE7を指定する　&lt;br /&gt;
***	目標値には「最大値」を選択し，チェックを入れる．&lt;br /&gt;
***	変数セルの変更欄にはx_1,x_2,x_3を表すセルB2からD2をドラックして指定する．&lt;br /&gt;
&lt;br /&gt;
***制約条件の対象の欄には&lt;br /&gt;
この例題の制約条件式&lt;br /&gt;
&lt;br /&gt;
$&lt;br /&gt;
4x_1+0x_2+7x_3 \leq  90 \\&lt;br /&gt;
1x_1+3x_2+9x_3 \leq  60 \\&lt;br /&gt;
6x_1+0x_2+14x_3 \leq 110 \\&lt;br /&gt;
4x_1+10x_2+1x_3 \leq    75　&lt;br /&gt;
$&lt;br /&gt;
&lt;br /&gt;
を表す式を入力する．　&lt;br /&gt;
　このためには,入力窓の「追加」をクリックし制約条件の追加入力用の窓を表示させ,&lt;br /&gt;
例えば&lt;br /&gt;
&lt;br /&gt;
$4x_1+0x_2+7x_3 \leq  90$&lt;br /&gt;
&lt;br /&gt;
を表す式を入力するのであればセルの参照欄に$4x_1+0x_2+7x_3$を表すセルE3を指定&lt;br /&gt;
≦,=,≧などのドロップダウンリストで≦を選択し,制約条件の欄には上限値の90を入力する．入力後さらに「追加」をクリックし他の３つの制約条件式も同様に入力する．&lt;br /&gt;
&lt;br /&gt;
***さらに, 制約条件式　&lt;br /&gt;
&lt;br /&gt;
$&lt;br /&gt;
0 \leq x_1,0 \leq x_2,0 \leq x_3　&lt;br /&gt;
$&lt;br /&gt;
を入力するため&lt;br /&gt;
&lt;br /&gt;
「制約のない変数を非負数にする」　にチェックを入れる．&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
**最後に「解決」をクリックすると以下の結果が出力される.&lt;br /&gt;
&lt;br /&gt;
[[ファイル:LP-Fig.5.jpg|500px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
$x_1=7.8,x_2=3.9,x_3=4.5$&lt;br /&gt;
のときに&lt;br /&gt;
&lt;br /&gt;
$L\left(x_1,x_2,\ x_3 \right)=80x_1+110x_2+95x_3$　&lt;br /&gt;
&lt;br /&gt;
が最大値1485をもつことを表す.制約条件は満たされている.&lt;/div&gt;</summary>
		<author><name>Moderator</name></author>	</entry>

	</feed>