人為変数や二段階を不要とする 実数型simplex法の解き方の 提案と検証

Slides:



Advertisements
Similar presentations
授業展開#12 コンピュータの扱いにくい問 題. 扱いにくい問題  処理時間がかかる。  メモリを大量に必要とする。  プログラムの優劣、アルゴリズムの優劣 を比較するためには、標準的なコン ピュータで比較する必要がある。  処理時間を計るのに、コンピュータのモ デルとして、チューリングマシンを考え、
Advertisements

<最適化の概念> 最適化すべき問 題 数学モデル 変数,数式 数理計画法 定められた計算手 順を用いて解くた めの方法論.
1 線形代数学. 2 履修にあたって 電子情報システム学科 必修 2005 年度1セメスタ開講 担当 草苅良至 (電子情報システム学科) 教官室: G I 511 内線: 2095 質問等は上記のいずれかに行なうこと。 注意計算用のノートを準備すること。
シミュレーション論Ⅰ 第 7 回 待ち行列のシミュレーション(2). 第 6 回のレポート(解答例) 乱数表より乱数を記入し、到着間隔・サービス時間にした がってグラフを作成する 例) 最大待ち人数:2人 最大待ち時間:5分 平均待ち時間:3分.
logistic regression をしたい場合の STATISTICA2000のアプリケーションの使い方について
第6回 線形計画法の解法(4) 混合最小値問題 山梨大学.
3次元nクイーン問題の 解に関する研究 論理工学研究室 伊藤精一
エクセル(1)の目次 起動法、ブック、シート、セル ブックの開き方 エクセル画面 マウスポインターの種類 シート数の調節 データの入力法
数当てゲーム (「誤り訂正符号」に関連した話題)
配列(2) 第10回目 [6月22日、H.16(‘04)] 本日のメニュー 1)前回の課題について 2)前回の宿題について 3)課題
「基礎OR」/「OR演習」 第2回 10/06/2009 森戸 晋.
第八回  シンプレックス表の経済的解釈 山梨大学.
電子情報工学科5年(前期) 7回目(21/5/2015) 担当:古山彰一
Ⅰ.電卓キーの基本的機能 00 0 1 2 3 6 ⑤ 4 9 8 7 M- MR MC + × % M+ - = ÷ C √ +/- GT
近似アルゴリズム 第10章 終了時刻最小化スケジューリング
3-1 MySQLについて 発表者:藤村元彦 自然言語処理研究室.
「基礎OR」/「OR演習」 第3回 宿題3.2 Red Brand Canners解説
JavaによるCAI学習ソフトウェアの開発
第三回 線形計画法の解法(1) 標準最大値問題 山梨大学.
★どんな2次方程式でも解けるようになろう! ★公式を覚えよう! ★これは覚えんばいかんぞ!
第四回 線形計画法(2) 混合最大値問題 山梨大学.
スペクトル法による数値計算の原理 -一次元線形・非線形移流問題の場合-
整数計画法を用いた スリザーリンクの解法 杉村 由花 (東京大学)
プログラミング言語論 第6回 型 情報工学科 篠埜 功.
遺伝アルゴリズムによる NQueen解法 ~遺伝補修飾を用いた解探索の性能評価~
土木計画学 第11回(12月21日) 土木計画と説明責任 計画における代替案の作成1 担当:榊原 弘之.
第二回 連立1次方程式の解法 内容 目標 連立1次方程式の掃出し法 初期基底を求める 連立1次方程式を掃出し法を用いてExcelで解析する
リンクパワーオフによる光ネットワークの省電力化
第 七 回 双対問題とその解法 山梨大学.
4.2 連立非線形方程式 (1)繰返し法による方法
1章前半.
第九回 問題の定式化練習と 自主研究課題 山梨大学.
システム開発実験No.7        解 説       “論理式の簡略化方法”.
電気回路学Ⅱ エネルギーインテリジェンスコース 5セメ 山田 博仁.
第9回:Microsoft Excel (1/2)
配列(1) 第9回目 [6月15日、H.16(‘04)] 本日のメニュー 1)前回の課題について 2)前回の宿題について 3)配列 4)課題
第7回 条件による繰り返し.
情報工学総合演習 D-I 近似アルゴリズム 埼玉大学 理工学研究科 山田 敏規、 橋口 博樹、 堀山 貴史
サポートベクターマシン によるパターン認識
シミュレーション論 Ⅱ 第15回 まとめ.
応用社会システム計画 (第10回) ここで、学習すること 学籍番号: 氏名: ■これまでの講義内容の整理 ■計画問題の設定と手法
第6回 よく使われる組合せ回路 瀬戸 重要な組合せ回路を理解し、設計できるようにする 7セグディスプレイ用デコーダ 加算回路・減算回路
ORの手法(組合せ最適化) 社会情報特講Ⅲ 大堀隆文(非常勤講師).
第二回 VB講座 電卓を作ろう.
第7回 条件による繰り返し.
Introduction to Soft Computing (第11回目)
3.1 PowerPoint の概要 PowerPointを使ってできること
コンピュータ プレゼンテーション.
多変量解析 ~主成分分析~ 1.主成分解析とは 2.適用例と解析の目的 3.解析の流れ 4.変数が2個の場合の主成分分析
変換されても変換されない頑固ベクトル どうしたら頑固になれるか 頑固なベクトルは何に使える?
公共経営研究科 「シミュレーション」森戸担当分 概要(12/02/05)
コンパイラ 2011年10月20日
C言語 はじめに 2016年 吉田研究室.
ナップサック問題 クマさん人形をめぐる熱いドラマの結末.
vc-2. Visual Studio C++ のデバッガー (Visual Studio C++ の実用知識を学ぶシリーズ)
プログラミング入門 電卓を作ろう・パートI!!.
土木計画学 第12回(1月14日) 計画における代替案の作成2 担当:榊原 弘之.
半正定値計画問題(SDP)の 工学的応用について
精密工学科プログラミング基礎 第7回資料 (11/27実施)
栗原正純 UEC Tokyo 電気通信大学 情報通信工学科 2007/5/2(修正2008/08/21)
アルゴリズム入門 (Ver /10/07) ・フローチャートとプログラムの基本構造 ・リスト ・合計の計算
電気回路学Ⅱ 通信工学コース 5セメ 山田 博仁.
Cプログラミング演習 ニュートン法による方程式の求解.
割り当て問題(assignment problem)
精密工学科プログラミング基礎Ⅱ 第2回資料 今回の授業で習得してほしいこと: 配列の使い方 (今回は1次元,次回は2次元をやります.)
情報数理Ⅱ 第10章 オートマトン 平成28年12月21日.
知能情報工学演習I 第10回( C言語第4回) 課題の回答
岩村雅一 知能情報工学演習I 第7回(後半第1回) 岩村雅一
各種荷重を受ける 中空押出形成材の構造最適化
アルゴリズム ~すべてのプログラムの基礎~.
Presentation transcript:

人為変数や二段階を不要とする 実数型simplex法の解き方の 提案と検証                         環境都市デザイン工学科   6番 鎌倉勇輝                                    15番 中平歩                            指導教員       竹内光生   人為変数や2段階を不要とする実数型simplex法の解き方の提案と検証について、竹内研究室15番中平が発表します。

研究の背景と目的 背景 目的 本研究では、2段階単体法の人為変数や2段階なしの1段階の解法を提案している。 2段階単体法はピボット選択が常に列・行の順であるが、提案する解法では等式・逆式は行・列の順としている。 この方法は、2変数問題については提案済みであるが、多変数問題にも適用できるかの実証がないと指摘をうけている。 目的 昨年示した2変数問題について提案simplex法の再検証を行う。 多変数問題に対応するためのプログラミングの作成をする。 2変数問題と同様に人為変数を追加しなくても解けることを、巡回問題や人員配置問題など多変数問題を用いて検証する。 本研究の背景として、 ・2段階単体法の人為変数や2段階なしの1段階の解法を提案しています。 ・一般的に、2段階単体法はピボット選択が常に列・行の順であるが、提案する解法では等式・逆式は行・列の順としています。 ・この方法は、2変数問題については提案済みであるが、多変数問題にも適用できるかの実証がないと指摘をうけています。 そこで、本研究の目的として、 ・昨年示した、2変数問題について提案simplex法の再検証を行います。 ・多変数問題に対応するためのプログラミングの作成および、2変数問題と同様に人為変数を追加しなくても解けることを巡回問題や人員配置問題のような多変数問題を用いて検証します。

プログラミングの特徴 特徴 従来の2段階単体法や図解法を用いることなく、巡回問題や多変数問題が簡単な操作で解ける Fortranプログラムを用いる 最小化問題に対応している 等式、逆式、順式の順番で解く 逆式の段階で実行可能解の有無の判定可能 図1は、提案simplex法の流れ図です。 このプログラムの特徴は、 従来の2段階単体法や図解法を用いることなく、巡回問題や多変数問題が簡単な操作で解けます。 プログラムは、fortranプログラムを用いて作成し、最小化問題に対応しています。 流れ図からわかるように等式→逆式→順式の順番で解き、逆式の段階で実行可能解の有無の判定を行います。 図1.提案simplex法の流れ図

提案simplex法のfortranプログラム プログラムの詳しい概要については論文に載せています。

生産計画問題(3変数) 問)ある工場で4種類の原料A,B,C,Dを用いて、3種類の製品 Ⅰ,Ⅱ,Ⅲを生産する。利益が最大となる組み合わせを求めよ。 C 100kg A 80kg B 50kg D 70kg 原料の 使用可能量 製品Ⅰ(70万円) D:3kg C:7kg A:5kg 製品Ⅲ(30万円) B:8kg C:15kg A:6kg 製品Ⅱ(120万円) B:2kg D:11kg まず、プログラムの使い方について、生産計画の3変数問題を用いて説明します。 この問題は、ある工場で4種類の原料A,B,C,Dを用いて、3種類の製品Ⅰ,Ⅱ,Ⅲを生産するときの利益が最大となる組み合わせを問われています。 この問題は利益の最大を求める問題なので、最大化問題といえます。 下図は、生産計画問題の条件をわかりやすくするために作成しました。 原料A~Dの使用可能量は各種このようになります。 例えば、製品Ⅰを生産する際には原料をA=5kg、C=7kg、D=3kgだけ必要とし、その製品1単位を生産したときの利益は70万円になります。

定式化(数式を使って表現) 変数の決定 →各製品Ⅰ,Ⅱ,Ⅲの生産量をx1,x2,x3とおく 目的関数    総利益はZ=70x1+120x2+30x3(万円) 制約条件式(原料の使用可能量を超えない)    原料A:5x1   +6x3≦80 原料B:   2x2+8x3≦50           原料C:7x1   +15x3≦100              原料D:3x1+11x2   ≦70 生産量は0以上    x1≧0,x2≧0,x3≧0 次に定式化を行う前に、前のページの図を表に変えたものを表1~3に示します。 この表を用いて、定式化を行います。 定式化は、はじめに、変数の決定を行います。 ここでは、各製品Ⅰ,Ⅱ,Ⅲの生産量をx1,x2,x3と決定します。 次に、目的関数は最大の利益を求める式を表1を用いてたてます。 そして、制約条件式は各原料A~Dの利用可能量を超えない式を表2と3を用いてたてます。 最後に、生産量は0以上で正の値のみとします。

テキストにデータ入力 Max Z= 70x1+120x2+30x3 最小化問題にする! Mini Z= -70x1-120x2-30x3 Subject to 5x1+6x3≦80 2x2+8x3≦50 7x1+15x3≦100 3x1+11x2≦70 And x1≧0,x2≧0,x3≧0 ファイル名:seisan_in.txt  変数の数と ←制約条件式の数 3,4 0,-70,-120,-30 80,5,0,6 50,0,2,8 100,7,0,15 70,3,11,0 1,1,1,1 ←目的関数 ←制約条件式 この問題は最大の利益を求める最大化問題です。 目的関数は、このプログラムに適した最小化問題にするためにZに-1をかけます。 入力データのファイル名は、「seisan_in.txt」とします。 入力データは初めに、変数の数“3”と制約条件式の数“4”を入力します。 次に、目的関数をZ=0とし、それぞれの変数の前につく値を順番に入力します。 同様に、制約条件式は右辺を先に入力し、左辺の変数の前につく値を入力します。 最後に、各制約条件式の順式、等式、逆式の判断を数字に置き換えて入力します。 ここでは、4つの制約条件式が順式であるので1を4つ入力します。 入力する順式、等式、逆式に対する数字は以下のように決めています。 ≦(順式):1 ,=(等式): 0 , ≧(逆式):-1 ←制約条件式の順式、  等式、逆式の判断 ≦(順式):1 ,=(等式):0 , ≧(逆式):-1

プログラムでの処理 ②上書き保存 ③コンパイル ④実行 ①プログラムのファイル名を変える 入力データ作成後、次にプログラムで処理を行います。 プログラムの3行目と4行目は、入出力ファイル名を入力する欄です。 入力データのファイル名は‘seisan_in.txt‘とし、出力結果のファイル名は‘seisan_out.txt‘とします。 ファイル名を変更後は、上書き保存し、コンパイルをして完了すれば、実行を押してプログラムでの処理は終了です。 ①プログラムのファイル名を変える 入力データ:seisan_in.txt  出力結果:seisan_out.txt

出力結果 データ入力した値→ 制約条件式のMUKIを示す→ ピボット選択・操作2回→ 答え. ←問題の答え ファイル名: seisan_out.txt 3 variables 4 constraints 0.000 -70.000 -120.000 -30.000 80.000 5.000 0.000 6.000 50.000 0.000 2.000 8.000 100.000 7.000 0.000 15.000 70.000 3.000 11.000 0.000 Inequality sign 1 1 1 1 0.000 -70.000 -120.000 -30.000 0.000 0.000 0.000 0.000 80.000 5.000 0.000 6.000 1.000 0.000 0.000 0.000 50.000 0.000 2.000 8.000 0.000 1.000 0.000 0.000 100.000 7.000 0.000 15.000 0.000 0.000 1.000 0.000 70.000 3.000 11.000 0.000 0.000 0.000 0.000 1.000 763.636 -37.273 0.000 -30.000 0.000 0.000 0.000 10.909 37.273 -0.545 0.000 8.000 0.000 1.000 0.000 -0.182 6.364 0.273 1.000 0.000 0.000 0.000 0.000 0.091 1296.104 0.000 0.000 49.870 0.000 0.000 5.325 10.909 8.571 0.000 0.000 -4.714 1.000 0.000 -0.714 0.000 45.065 0.000 0.000 9.169 0.000 1.000 0.078 -0.182 14.286 1.000 0.000 2.143 0.000 0.000 0.143 0.000 2.468 0.000 1.000 -0.584 0.000 0.000 -0.039 0.091 Calculation Feasible Result X( 1)= 14.286 X( 2)= 2.468 X( 3)= 0.000 Z= 1296.104 データ入力した値→ 制約条件式のMUKIを示す→ ≦(順式) → 1 ピボット選択・操作2回→ 答え. <各製品の生産量> 製品Ⅰ:X( 1)= 14.286≒14.3kg 製品Ⅱ:X( 2)= 2.468≒2.5g 製品Ⅲ:X( 3)= 0kg <最大の利益> Z= 1296.104≒1296万円 次に、出力結果について説明します。 先程の作業を行うと「seisan_in.txt」と同じフォルダに「seisan_out.txt」というファイルがでます。 これが、この問題の出力結果です。 出力結果には、データ入力した値、制約条件式の向きを表す数字、ピボット選択・操作の流れ、問題の答えが示されています。 出力結果より、答えは各製品の生産量は以下のようになり、最大の利益は1296万円という結果が得られました。 ←問題の答え

人員配置問題(24変数) 問1)シカゴ校外の北東有料道路の料金所は、24時間に以下の 人員を必要とする。料金所の人間は4時間働き、1時間休み、又4 時間働く。何時から働いてもよい。雇う人数の最少を求めたい。 表4.各時間内での必要とする人員 変数の決定  X1 = 真夜中から働く人の数  X2 = 午前1時から働く人の数  X3 = 午前2時から働く人の数        ・  X23 = 午後10時から働く人の数  X24 = 午後11時から働く人の数 時間 必要とする人員 0時から午前6時 2 午前6時から10時 8 午前10時から正午 4 正午から午後16時 3 午後16時から18時 6 午後18時から22時 5 午後22時から24時 次に、3変数よりも変数の多い24変数を用いて、このプログラムが適応できるのかを検証してみました。 LINDO Japanで提案されている人員配置問題を用います。 シカゴ校外の北東有料道路の料金所は、24時間に以下の人員を必要とします。 料金所の人間は4時間働き、1時間休み、又4時間働き、何時から働いてもよいとします。 このときの雇う人数の最少となる組合せを問われています。 表4は、各時間内での必要とする人員を示しています。 はじめに、変数の決定として、0時~24時を1時間ごとにX1~X24として分けます。

問題の定式化 Minimize Z=x1+x2+x3+ ・・・ +x24 Subject to x1+x17+x18+x19+x20+x22+x23+x24≧2 : 0~1時は2人   x1+x2+x18+x19+x20+x21+x23+x24≧2 : 1~2時は2人 ・・・   x16+x17+x18+x19+x21+x22+x23+x24≧3 : 23~24時は3人 And      x1~x24≧0 制約行 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 -1 制限 0~1 1 ≧ 2 1~2 2~3 3~4 4~5 5~6 6~7 8 7~8 8~9 9~10 10~11 4 11~12 12~13 3 13~14 14~15 15~16 16~17 6 17~18 18~19 5 19~20 20~21 21~22 22~23 23~24 制約行 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 -1 制限 0~1 1 ≧ 2 1~2 2~3 3~4 4~5 5~6 6~7 8 7~8 8~9 9~10 10~11 4 11~12 12~13 3 13~14 14~15 15~16 16~17 6 17~18 18~19 5 19~20 20~21 21~22 22~23 23~24 この問題は、雇う人数の最少を求める最小化問題です。 目的関数は、雇う人数の合計を求めたいので、働く人数X1~X24をすべて足します。 制約条件式は下記の表を用いて導きます。 この表は、問題の条件に沿ってExcelでシフト表を作成しました。 赤で塗られている部分に人が配置されています。 この表の見方は時間ごとに横に見て、赤に塗られているところの変数を用いて24個の制約条件式をたてます。 変数は0以上で正の値とします。 3変数と同様に入力データを作成し、プログラム処理を行うと、出力結果が得られました。

プログラム結果 雇う人数の最少:Z=15.75人 雇う人数の最少: Z=16人 Excel表を用いて、 小数解を整数解に 処理すると… x1 x2 4 x3 1 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 0.5 x14 0.75 x15 1.75 x16 x17 x18 0.25 x19 x20 x21 x22 x23 x24 雇う人数の最少:Z=15.75人 Excel表を用いて、 小数解を整数解に 処理すると… x1 x2 4 x3 1 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 2 x17 x18 x19 x20 x21 x22 x23 x24 プログラム結果はこのようになりました。 人員配置問題は雇う人数を求める問題なので、解として少数値は適さないと考えます。 そこで、Excel表を用いて、小数解を整数解に直す処理を行いました。 Excel表の処理手順は、スライドに載せきれないので、ここでは省略します。 処理手順については、論文に載せています。 Excel表で処理を行った結果、以下のようになります。 各時間には、このように人員が割り当てられ、雇う人数の最少は16人となりました。 ここで説明した問題以外に、輸送問題や人員配置問題の27変数についても検証を行いました。 今回は発表時間の都合上、検証内容の説明は省略します。 雇う人数の最少: Z=16人

巡回問題の概要 巡回問題とは? なぜ、巡回問題を検証するのか? 検証事例問題 概要 → 定まった順序で永久に 回り続ける問題のことである。 → 定まった順序で永久に     回り続ける問題のことである。 なぜ、巡回問題を検証するのか?   → 多変数問題にも適用できるのか       という指摘があったので、多変数      問題の事例の1つとして検証。 検証事例問題   ・H.W.Kuhnの巡回問題   ・V.Chvatalの巡回問題 概要 ・最適解がある。(Blandの規則) ・巡回し、最適解に至らない。           提案simplex法 (1)最適解が得られる。 (2)巡回する。 (3)最適解・巡回現象が得られない。           提案simplex法の評価。 (1)→◎ (2)→○従来の解法の代替解法である (3)→×提案としてはダメである

H.W.kuhnの巡回問題(7変数,3つの等式) Minimize z=-2X4-3X5+X6+12X7 Subject to X1-2X4-9X5+X6+9X7=0 X2+(1.0/3.0)X4+X5-(1.0/3.0)X6-2X7=0 X3+2X4+3X5-X6-12X7=2 And (X1, X2, X3, X4, X5, X6, X7)≧0 プログラム入力データ 7,3 0,0,0,0,-2,-3,1,12 0,1,0,0,-2,-9,1,9 0,0,1,0,0.333333,1,-0.333333,-2 2,0,0,1,2,3,-1,-12 0,0,0

H.W.Kuhnの巡回問題の解析 解析結果 H.W.Kuhnの巡回問題 提案simplex法 (1)最適解が得られる。 (2)巡回する。 7 variables 3 constraints 0.000 0.000 0.000 0.000 -2.000 -3.000 1.000 12.000 0.000 1.000 0.000 0.000 -2.000 -9.000 1.000 9.000 0.000 0.000 1.000 0.000 0.333 1.000 -0.333 -2.000 2.000 0.000 0.000 1.000 2.000 3.000 -1.000 -12.000 Inequality sign 0 0 0 0.000 0.000 3.000 0.000 -1.000 0.000 0.000 6.000 0.000 1.000 9.000 0.000 1.000 0.000 -2.000 -9.000 2.000 0.000 -3.000 1.000 1.000 0.000 -0.000 -6.000 0.000 1.000 12.000 0.000 0.000 0.000 -2.000 -3.000 0.000 -0.333 -2.000 0.000 0.000 1.000 0.333 1.000 2.000 -1.000 -12.000 1.000 0.000 0.000 2.000 3.000 0.000 -0.000 6.000 0.000 0.000 3.000 -1.000 0.000 0.000 -2.000 -9.000 0.000 1.000 9.000 1.000 0.000 2.000 0.000 -6.000 1.000 0.000 -3.000 1.000 0.000 0.000 -2.000 -3.000 0.000 1.000 12.000 0.000 0.000 0.000 0.333 1.000 0.000 -0.333 -2.000 0.000 1.000 2.000 2.000 3.000 1.000 -1.000 -12.000 0.000 0.000 0.000 -1.000 0.000 0.000 -0.000 6.000 0.000 3.000 2.000 1.000 0.000 1.000 0.000 -6.000 0.000 -3.000 ????? Not Solved ????? H.W.Kuhnの巡回問題          提案simplex法 (1)最適解が得られる。 (2)巡回する。 (3)最適解・巡回現象が得られない。          提案simplex法の評価。 (1)→◎ (2)→○従来の解法の代替解法である。 (3)→×提案としてはダメである

誤差値入力 Minimize Z=-2X4-3X5+X6+12X7 Subject to X1-2X4-9X5+X6+9X7=0 And (X1, X2, X3, X4, X5, X6, X7)≧0 プログラム入力データ プログラム入力データ 7,3 0,0,0,0,-2,-3,1,12 0,1,0,0,-2,-9,1,9 0,0,1,0,0.333333,1,-0.333333,-2 2,0,0,1,2,3,-1,-12 0,0,0 7,3 0,0,0,0,-2,-3,1,12 0.00001,1,0,0,-2,-9,1,9 0,0,1,0,0.333333,1,-0.333333,-2 2,0,0,1,2,3,-1,-12 0,0,0

誤差値入力解析 最適解 x1=2.0,x2=0,x3=0 x4=2.0,x5=0,x6=2.0,x7=0 Z=2.0 解析結果 H.W.Kuhnの巡回問題         提案simplex法 (1)最適解が得られる。 (2)巡回する。 (3)最適解・巡回現象が得られない。         提案simplex法の評価。 (1)→◎最適解が得られる解法である。 (2)→○従来の解法の代替解法である。 (3)→×提案としてはダメである 7 variables 3 constraints 0.000 0.000 0.000 0.000 -2.000 -3.000 1.000 12.000 0.000 1.000 0.000 0.000 -2.000 -9.000 1.000 9.000 0.000 0.000 1.000 0.000 0.333 1.000 -0.333 -2.000 2.000 0.000 0.000 1.000 2.000 3.000 -1.000 -12.000 Inequality sign 0 0 0 0.000 0.000 3.000 0.000 -1.000 0.000 0.000 6.000 0.000 1.000 9.000 0.000 1.000 0.000 -2.000 -9.000 2.000 0.000 -3.000 1.000 1.000 0.000 -0.000 -6.000 0.000 0.000 6.000 0.000 0.000 3.000 -1.000 -0.000 0.000 1.000 6.000 0.000 0.000 -3.000 -1.000 -3.000 0.000 0.000 3.000 0.000 1.000 3.000 -1.000 -6.000 2.000 0.000 -6.000 1.000 0.000 -3.000 1.000 0.000 2.000 0.000 0.000 1.000 0.000 0.000 0.000 0.000 2.000 1.000 0.000 1.000 0.000 -6.000 0.000 -3.000 2.000 0.000 -3.000 1.000 1.000 -0.000 0.000 -6.000 Calculation Feasible Result X( 1)= 2.000 X( 2)= 0.000 X( 3)= 0.000 X( 4)= 2.000 X( 5)= 0.000 X( 6)= 2.000 X( 7)= 0.000 Z= 2.000 最適解 x1=2.0,x2=0,x3=0 x4=2.0,x5=0,x6=2.0,x7=0 Z=2.0

Chvatalの巡回問題の例(4変数,3つの順式) Minimize  Z=-10x1+57x2+9x3+24x4 Subject to -0.5x1-5.5x2-2.5x3-9x4≦0         0.5x1-1.5x2-0.5x3+x4 ≦0         x1≦1 And (x1,x2,x3,x4)≧0 プログラム入力データ 4,3 0,-10,57,9,24 0,0.5,-5.5,-2.5,9 0,0.5,-1.5,-0.5,1 1,1,0,0,0 1,1,1

Chvatalの巡回問題の解析 解析結果 Chvatalの巡回問題 提案simplex法 (1)最適解が得られる。 (2)巡回する。 4 variables 3 constraints 0.000 -10.000 57.000 9.000 24.000 0.000 0.500 -5.500 -2.500 9.000 0.000 0.500 -1.500 -0.500 1.000 1.000 1.000 0.000 0.000 0.000 Inequality sign 1 1 1 0.000 -10.000 57.000 9.000 24.000 0.000 0.000 0.000 0.000 0.500 -5.500 -2.500 9.000 1.000 0.000 0.000 0.000 0.500 -1.500 -0.500 1.000 0.000 1.000 0.000 1.000 1.000 0.000 0.000 0.000 0.000 0.000 1.000 0.000 0.000 -53.000 -41.000 204.000 20.000 0.000 0.000 0.000 1.000 -11.000 -5.000 18.000 2.000 0.000 0.000 0.000 0.000 4.000 2.000 -8.000 -1.000 1.000 0.000 1.000 0.000 11.000 5.000 -18.000 -2.000 0.000 1.000 0.000 0.000 0.000 -14.500 98.000 6.750 13.250 0.000 0.000 1.000 0.000 0.500 -4.000 -0.750 2.750 0.000 0.000 0.000 1.000 0.500 -2.000 -0.250 0.250 0.000 1.000 0.000 0.000 -0.500 4.000 0.750 -2.750 1.000 0.000 29.000 0.000 0.000 -18.000 -15.000 93.000 0.000 0.000 2.000 0.000 1.000 -8.000 -1.500 5.500 0.000 0.000 -1.000 1.000 0.000 2.000 0.500 -2.500 0.000 0.000 20.000 9.000 0.000 0.000 -10.500 70.500 0.000 0.000 -2.000 4.000 1.000 0.000 0.500 -4.500 0.000 0.000 -0.500 0.500 0.000 1.000 0.250 -1.250 0.000 0.000 -22.000 93.000 21.000 0.000 0.000 -24.000 0.000 0.000 -4.000 8.000 2.000 0.000 1.000 -9.000 0.000  ????? Not Solved ????? Chvatalの巡回問題       提案simplex法 (1)最適解が得られる。 (2)巡回する。 (3)最適解・巡回現象が得られない。         提案simplex法の評価。 (1)→◎ (2)→○従来の解法の代替解法である。 (3)→×提案としてはダメである

誤差値入力 Minimize Z=-10x1+57x2+9x3+24x4 Subject to -0.5x1-5.5x2-2.5x3-9x4≦0 0.5x1-1.5x2-0.5x3+x4 ≦0 x1≦1 And (x1,x2,x3,x4)≧0 プログラム入力データ プログラム入力データ 4,3 0,-10,57,9,24 0,0.5,-5.5,-2.5,9 0,0.5,-1.5,-0.5,1 1,1,0,0,0 1,1,1 4,3 0,-10,57,9,24 0.00001,0.5,-5.5,-2.5,9 0,0.5,-1.5,-0.5,1 1,1,0,0,0 1,1,1

Chvatalの巡回問題の誤差値入力解析       提案simplex法 (1)最適解が得られる。 (2)巡回する。 (3)最適解・巡回現象が得られない。       提案simplex法の評価。 (1)→◎最適解が得られる解法である。 (2)→○従来の解法の代替解法である。 (3)→×提案としてはダメである 解析結果 4 variables 3 constraints 0.000 -10.000 57.000 9.000 24.000 0.000 0.500 -5.500 -2.500 9.000 0.000 0.500 -1.500 -0.500 1.000 1.000 1.000 0.000 0.000 0.000 Inequality sign 1 1 1 0.000 -10.000 57.000 9.000 24.000 0.000 0.000 0.000 0.000 0.500 -5.500 -2.500 9.000 1.000 0.000 0.000 0.000 0.500 -1.500 -0.500 1.000 0.000 1.000 0.000 1.000 1.000 0.000 0.000 0.000 0.000 0.000 1.000 0.000 0.000 27.000 -1.000 44.000 0.000 20.000 0.000 0.000 0.000 -4.000 -2.000 8.000 1.000 -1.000 0.000 0.000 1.000 -3.000 -1.000 2.000 0.000 2.000 0.000 1.000 0.000 3.000 1.000 -2.000 0.000 -2.000 1.000 1.000 0.000 30.000 0.000 42.000 0.000 18.000 1.000 2.000 0.000 2.000 0.000 4.000 1.000 -5.000 2.000 Calculation Feasible Result X( 1)= 1.000 X( 2)= 0.000 X( 3)= 1.000 X( 4)= 0.000 Z= 1.000 最適解 x1=1.0, x2=0,x3=1.0,x4=0 Z=1.0

まとめ 提案simplex法の概要 提案simplex法の検証(任意変数問題) 人為変数や二段階不要 等式、逆式、順式の順に解く 等式、逆式は、行・列の順でピボット選択するべき 逆式の段階で実行可能解の有無の判定可能 提案simplex法の検証(任意変数問題) FORTRANプログラムの作成 OK 生産計画問題(3変数)  OK 輸送問題①(起点2、終点3、計6変数問題)  OK 輸送問題②(起点3、終点5、計15変数問題)  OK 人員配置問題 (全員8h常勤、0~23時各勤務開始24変数問題)  OK 人員配置問題(8h常勤3人および4h勤務アルバイト雇用27変数問題)  OK H.W.Kuhn(ハロルド・クーン)の巡回問題 OK Chvatal(フバータル)の巡回問題 OK 提案simplex法で、上記の2変数~27変数問題の最適解が得られた。 本報告は、多変数問題に拡張し、提案simplex法の事例検証を行った。 今後は、その他の事例検証および事例検証以外の検証方法(プログラムの公開による検証)が必要と考えている。 非・整数・線形計画法が得意とする組み合わせ最適化問題の社会現象は多いと思われる。本報告が提案する単純な解き方が問題解決の一助となれば幸いである。

ご清聴ありがとうございました。