オペレーションズ・リサーチ(OR)にて用いられる手法の大きな柱の一つである線形計画問題や整数計画問題を解くためのソフトウェアの一つがLINDO(Linear Interactive and Discrete Optimizer)です.文教大学では,5101端末室にLINDOを配置し,いつでもORの学習・研究に利用できるよう整備しています. | ![]() |
![]() |
|
特にありませんがデータを保存しておくためにフォーマット済みの3.5インチ 2HD FD(フロッピーディスク)があればよいでしょう.ネットワークコンピュータakakura又はnisekoを利用してデータを保存しておく場合は必要ありません. | |
FDのフォーマットは,1.44MBで行いましょう.(DOS/V向けのフォーマット方式.NECのPC98シリーズでフォーマットされたフロッピーは使えない可能性があります.Windows95/98・NTでディスクのフォーマットをどのようにしてよいかわからない人は,書店に行って「Windows95/98」または「Windows NT」の使い方のマニュアルを買って勉強しましょう. | ![]() |
「LINDO」と記されている外側の画面は「フレームwindow」.LINDOで使用する画面はすべてこのフレームwindow内に表示される.内側の「untitled」と記された小さ目のwindowは「モデルwindow」.
LINDOで線形計画問題を計算するには,定式化したモデルを,ほぼそのままモデルwindow(前項参照)に入力して,
solveボタンを押すと別な「レポートWindow」が現われ,問題の解が表示されます.
モデル入力から解を求めるまでを以下の例題を用いて説明しましょう.
例題 |
以下の線形計画問題を解きなさい. |
![]() |
LINDOに問題を入力する時は,モデルwindowを用います.(下図:例題をモデルwindowに入力した状態.注意:入力画面の「x1」は変数x1を示しています.「×(かける)1」ではないので注意!)
モデルには,目的関数,変数,制約条件式の3つが必要です.
アルファベット又は数字から成る文字列なら何を用いてもよい.この例では,x1,x2,x3,x4を変数に用いるが, cost, load, man, powerなど変数を見ただけで何を示しているか理解できるように書いた方がわかりやすい場合もある.
最大化問題の時 max,最小化問題の時 min.その後に目的関数の式を入力する.
制約条件式の始めには「st」 (subject to の略)を書き,最後には 「end」 を書く.制約条件式の記入の際,不等号は「<=」 または 「>=」で記述する.「<」や「>」のみで記述しても等号があると自動的に解釈される.
モデルの入力が終了したら,モデルの解析を行います.モデルの解析は,フレームwindowのツールバーにあるsolveボタンにマウスを合わせてクリックします.
入力が正しく行われていると,「DO RANGE(SENSITIVITY) ANALYSIS?(感度分析を行いますか?)」と聞いてきます.使うのに慣れるまでは「いいえ」で答えましょう.
ORにおいて「もしもこうなったらどうなるか?」という探索的思考は重要な意味を持ちます.この思索に必要なデータを提供してくれるのが感度分析の数値です.LINDOに慣れたら,ここで「はい」と答えて,感度分析のデータも見るようにしましょう.
![]() |
入力にエラーがある時は,「An error occurred during compilation on line: ** (第**行目で実行中にエラーが起きました)」と表示されます.モデルwindowの**行目付近を見てエラーを訂正しましょう. かならず入力に間違いがあるはずです. |
![]() |
「いいえ(又は,はい)」に答えると,ステータスwindowとレポートwindowが現れます.
ステータスwindowは右下の「Close」を押して閉じてもかまいません. ← ステータスwindow ステータスwindowは問題の解かれ具合を報告しているデータです.(数理計画問題は現実的にはいつでも解けるわけではない!!)この表の読み方は,「始めの一歩」のレベルでは不要なので割愛しますが,LINDOに慣れたら読めるようになってください. |
このwindowでは問題の
を表示しています.ちなみにVARIABLEは「変数」,ROWは「行」を意味してます.最後のNo. ITERATIONはこの問題を解くのに何回繰り返し計算を行ったかを示しています.(シンプレックス法の反復計算をイメージしよう.)
このレポートwindowのデータを読めるようになるのが線形計画問題をORの手法として利用するための基本です.
LINDOの各windowは適当な名前で保存することができます.
FDに保存する場合
|
![]() |
![]() |
一度保存したデータは読み出すことができます.フレームwindowの左上にある「File」にマウスをあわせクリックする.縦長のリストから「Open」を選びクリックする.読み出し用のwindowが現れ,Aドライブ(フロッピー)からデータを呼び出す.
![]() |
注意: | |
どうもうまくコンピュータが作動しないまたは終了できていない様子の時は, プログラム相談員(たいていの時間プログラム相談室(3101教室)で待機してくれていて,相談にのってくれる人たち)か教育システム室に報告・相談しましょう.異常が起きたのに無視する態度は共同利用の施設を使う者としてマナー違反です. |
以上が5101端末室の数理計画用ソフトLINDOを使うときの最初の一歩です.この一歩を踏み出したら,2歩目からはあなた次第です.がんばって!
LINDOの試用版がLINDOを販売している会社のサイト(http://www.lindo.com/)で無料でダウンロードできます.練習問題やちょっとした研究で使うには十分な機能を持っています.英語でいろいろ書いてあるけど,やさしい英語なので,トライしてみよう.
この手引きを作成するにあたり,以下の資料を参考にさせていただきました
この手引きは個人的に作成したもので,教育システム室等が正式に作成したものではありません. 当資料の利用は個人の責任でお願いします. マシン・ソフトウェアに関する,公式・最新の情報は教育システム室等にお問い合わせください. 作成:平成9年10月6日(初版); 更新:平成10年4月20日;平成10年8月4日;平成10年11月25日;平成11年12月3日 文教大学情報学部経営情報学科 根本
俊男(3209研究室・内線349) |