[[20110117005147]] 『ソルバーで人数を振り分ける』(海斗) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『ソルバーで人数を振り分ける』(海斗)

 ソルバーで以下の内容を解きたいと思っています。

 乗車定員が15人のバスがあり、団体グループが7組あります。
 団体はグループで同じバスに乗らなくてはなりません。
 その場合の、最小で何台のバスが必要を出したいのですが、ソルバーを使って
 どのように解いたらよいでしょうか?
 数としては
 合計44人
 団体グループのそれぞれの人数は
 8人 3人 7人 6人 5人 2人 3人 4人 6人
 で9グループです。

 [Excel2007]
 [windows7]

http://www-cc.gakushuin.ac.jp/~e931039/solver.htm
 ソルバーってのがあるんですねー知らなかった・・・
 ご参考に。
 (リベンジ!)

 こういう組合せ最適化の実例もあるんですね。

 以前、この種の問題をソルバーで解くのを説明してあるサイトを
 見ましたがどこか忘れてしまったので探せたらアップします。
 ソルバーを使うのが手っ取り早くて良いですが少し工夫も必要に
 なります。

 因みにご提示の例の最適解は次のようになりますね。
  [8,7]
  [6,6,3]
  [5,4,3,2]
 3台のバスが必要です。

 この種の問題は、cutting stock問題または箱詰め問題といって
 組合せ最適化問題の難問の1つです。
 今回の例ですとグループ数が多くなると極端に解くのが難しく
 なりますが、グループ数が数十になることがなければなんとか
 解けます。
 (shibaraku)


>リベンジさん
ありがとうございます!参考にさせていただきます。

>shibarakuさん

ありがとうございます!
もしソルバーの解き方を掲載しているサイトを見つけたら是非おしえて頂けると幸いです!
難問なのですね…;
最適解はそうなるのですね、なるほど…ありがとうございました!


 参考になるか否かは分かりませんが・・  
 使用しているのはwindows7・Excel2007ですネ
 windows xp・Excel2003の場合、ソルバーを使用してナップサップ問題を解くには、取り扱いデータ数が20個と少ないのですが、ビスタ及びwindows7・2007なら35個までは扱えるようです。(私の実験で)
 A1〜A9セルにデータが入力されているとし
 C1セルに「=SUMPRODUCT(A1:A9,B1:B9)」と入力 (B列空白)
 「メニューバー」→「ツール」→「ソルバー」をクリック。「ソルバー:パラメータ設定」のダイアログボックスが表示されます。
 「ソルバー:パラメータ設定」ダイアログボックスの、"目的のセル"に、「$C$1」、
 「ソルバー:パラメータ設定」ダイアログボックスの、"目標値"(最大値・最小値・値)うち、「値」をクリックする。「値」を入力する。ウィンドウに「15」と入力。
 「ソルバー:パラメータ設定」ダイアログボックスの、"変化させるセル"に「$B$1:$B$9」と入力。
 「ソルバー:パラメータ設定」ダイアログボックスの、「制約条件」の「追加」ボタンをクリックする。「制約条件の追加」ダイアログボックスが表示される。
 「制約条件の追加」ダイアログボックスの"セル参照"に「$B$1:$B$9」と入力。
 「制約条件の追加」ダイアログボックスに表示される"セル参照"のウィンドウの「<=」の記号の右の▼をクリックし、「データ」を選ぶ。
 「制約条件の追加」ダイアログボックスの"制約条件"に、「バイナリ」が自動的に入ります。
 「追加」ボタンを押し、次に「キャンセル」ボタンを押します。
 「ソルバー:パラメータ設定」ダイアログボックスの実行ボタンを押します。
 組み合わせにマッチした行に「1」(B1〜B9)が入ります。
 第一回ソルバーで求めた値は、「7・2・6」でした。
 二回目を行なうにあたり、一回目に出た値(A列)を「0」とします
 一回目に行なった条件で実行します。二回目の値は「8・3・4」でした
 残りは「3・6・5」ですので3台です
 私の ホームページでソルバー機能の紹介 していますが、役に立たないサイトです。

 (atiboh)


>abibohさん
ありがとうございます!
今から挑戦してみます…なかなかソルバーの扱いになれないので時間がかかってしまいます…。
ていねいにありがとうございました
解もだしてくださったありがとうございます。なんとかなりました!
ソルバーっておくが深いですね…。

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.