数理システム 最適化メールマガジン

バックナンバー ( 2010 Vol.3 ) 2010 年 8 月 31 日 発行

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  数理システム NUOPT メールマガジン  http://www.msi.co.jp/nuopt/
                           2010 Vol.3 ( 2010 年  8 月 31 日 発行 )
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

数理システム NUOPT メールマガジンでは,数理計画法パッケージ NUOPT 
に関する様々な情報やご案内を提供していきます.

++++ [目次] ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 ■ <トピック> R 連係機能について
 ■ <トピック> NUOPT のホームページをリニューアル
 ■ <トピック> 発表・出展案内
 ■ <トピック> 数理計画用語集 用語追加 & NUOPT FAQ 更新
 ■ <トピック> 数理計画問題の豆知識(第 2 回)
 ■ <セミナー> NUOPT セミナーのご案内
 ■ <  tips  > SIMPLE よくある間違い(第 14 回)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

******************************************************************
■ <トピック>  R 連係機能について
******************************************************************

統計解析ソフトウェア R と NUOPT を連係動作させることができるように
なりました!

NUOPT R 連係機能:
  http://www.msi.co.jp/nuopt/products/derivation/rnuopt/index.html

R のインタプリタ環境から,モデリング言語 SIMPLE による最適化モデル
の記述と実行が可能です.

最も基本的な vector,array,matrix のデータセットはそのまま NUOPT
に受け渡して最適化の入力データとして用いることができます.また,
NUOPT で得られた答えは R のデータセットとして取り出すことができます.

R が本来持っているデータ処理,統計解析機能,優れたグラフィックスな
どを駆使して最適化と連係した分析が可能です.

R 連係機能を使うには R パッケージ Rnuopt が必要です.
詳細については,
  http://www.msi.co.jp/nuopt/info/index.html
よりお問合せください.また,試用版(30 日間限定で機能制限なし)もご
ざいます.試しに使ってみたいという方,是非お問合せください!

                                                 (村山 昇)

******************************************************************
■ <トピック>  NUOPT のホームページをリニューアル
******************************************************************

汎用数理計画法パッケージ NUOPT のホームページが,全面的にリニュー
アルされました.

今までの NUOPT のページは,大量の情報が含まれている一方で,「一体
どこにどの情報が記載されているのか分かりにくい」という欠点がありま
した.
今回のリニューアルにより,情報へのアクセスが容易になります.
また読み易さを向上させるため,レイアウトを全面的に変更しました.

お客様の "事例紹介インタビュー記事" や,"お客様の声","最適化
ソリューション導入のためのプロセスの解説" など今まで無かったコン
テンツも増強していますので是非ともご覧ください.
  ・事例紹介インタビュー記事
      http://www.msi.co.jp/nuopt/interview/index.html
  ・お客様の声のご紹介
      http://www.msi.co.jp/nuopt/solution/usersvoice.html
  ・最適化ソリューション導入のためのプロセスの解説
      http://www.msi.co.jp/nuopt/introduction/process.html

                                                 (原田 耕平)

*****************************************************************
■ <トピック>  発表・出展案内
******************************************************************

9 月 22 日に名古屋大学ベンチャービジネスラボラトリーにて第 7 回日本
OR 学会中部支部シンポジウムが行われます.本シンポジウムにおいて「最
適化ツールを用いた実務の意思決定支援の方法」という題目で弊社取締役
田辺隆人が発表いたします.
シンポジウムの詳細については,下記 URL をご参照ください.
  http://www.orsj.or.jp/chubu/?p=754

9 月 5 日~ 8 日に早稲田大学にて 2010 年度統計関連学会連合大会が行
われます.本大会において「統計解析ツールと最適化パッケージ NUOPT の
連係」という題目で私 藤井浩一が発表いたします.
内容は,S-PLUS アドイン S+NUOPT,および最近弊社で開発いたしました
NUOPT の R 連係機能のご紹介です.
大会の詳細については,下記 URL をご参照ください.
  http://www.jfssa.jp/taikai/2010/

9 月 10 日~ 11 日 に法政大学で開催されるスケジューリング・シンポジ
ウム 2010 のベンダーセッションにて NUOPT のご紹介を致します.
詳細については,下記 URL をご参照ください.
  http://scheduling.jp/symposium/2010/

9 月 16 日~ 17 日 にコラッセふくしまで行なわれる 2010 年日本 OR 学
会秋季研究発表会にて出展を致します.興味のある方は,是非お立ち寄り
ください.
研究発表会の詳細については,下記 URL をご参照ください.
  http://www.orsj.or.jp/nc2010f/

                                                 (藤井 浩一)

******************************************************************
■ <トピック>  数理計画用語集 用語追加 & NUOPT FAQ 更新
******************************************************************

弊社数理計画部では,「数理計画用語集」を公開しています.
  http://www.msi.co.jp/nuopt/glossary/index.html

今回の新語,改修用語は以下の通りです.

  <新語>
     ・R 連係機能
     ・QR 分解
     ・制約論理プログラミング
     ・制約プログラミング
     ・論理プログラミング
     ・述語

  <改修用語>
     ・フィッティング問題

また,今回は NUOPT web ページのデザイン変更に伴い,数理計画用語集も
デザインを大幅に変更しています.とても見やすくなったと自負してます.
是非一度ご覧になっていただけたらと思います.

ご意見,ご要望等ございましたら,お気軽に用語集編集委員会
  nuopt-glossary@ml.msi.co.jp
までご連絡ください.

また,「NUOPT FAQ」も適宜更新してます.
(web ページのリニューアルに伴いアドレスが変更になっています.)
  http://www.msi.co.jp/nuopt/user/faq/index.html

NUOPT でお困りの方も,そうでない方もご一読いただければ幸いです.

                                                 (村山 昇)

******************************************************************
■ <トピック>  数理計画問題の豆知識(第 2 回)
******************************************************************

「それぞれ異なる容積と価値をもつ複数個のアイテムと,一定容積のナッ
プサックがある.ナップサックの容積を超えないアイテムの詰め方のうち,
総価値が最大となる組み合わせを求めよ.」

これは,組合せ最適化問題の一つである,ナップサック問題と呼ばれる問
題です.
実生活においては,
  「遠足のおやつが 300 円までのとき,何を買えば一番満足できるか?」
というように限られた支出で最大の効果をあげたいときに直面する問題で
あり,しばしば解決する必要に迫られます.
そこで,今回はナップサック問題について取り上げることにします.

ナップサック問題は整数計画問題に分類されます.
大規模な整数計画問題に対し,「全ての組合せを計算し一番良いものを選
ぶ」といった手法は,莫大な時間あるいはメモリが必要になるため,現実
的とはいえません.
一般に,大規模な整数計画問題は求解が困難なのです.

しかし,ナップサック問題については比較的大規模でも解を求めやすい問
題といえます.
問題の性質上,計算すべき組合せの数を大きく減らすことができるため,
分枝限定法やカットの導入,動的計画法の利用が有用な手段となるからで
す.

それでも,アイテム数が数十万,数百万を超えたり,制約式の数が莫大に
増加したりすると,厳密解を短時間で求めることが難しくなります.
そのようなときに有効な手段は,メタヒューリスティクスです.

メタヒューリスティクスとは,汎用的(メタ)実験的手法(ヒューリスティ
クス),すなわち様々な問題に応用できる近似解算出法をいいます.厳密
解を求めるのではなく,暫定解をより良いものに更新していくといった手
法を取ることで,大規模問題に対しても,現実的な時間で満足のいく解を
得ることができます.
遺伝アルゴリズム,焼きなまし法,タブーサーチなどが代表的です.

様々なアルゴリズムが確立され,またコンピュータの進化も著しい現在に
おいては,実用上必要とされるナップサック問題の求解は,それほど恐れ
る必要のないものとなってきました.

NUOPT には,制約式へのカットを組み合わせた分枝限定法による厳密解導
出アルゴリズム(V12 にて大幅に改善)と,タブーサーチを利用した近似
解導出アルゴリズム(WCSP)が搭載されております.このため,実務上要
求されるような大規模なナップサック問題の解決にも大いにお役に立つこ
とができるかと存じます.

なお,ナップサック問題については,弊社ホームページでも紹介しており
ます.是非ご覧ください.
  http://www.msi.co.jp/nuopt/introduction/index.html

                                                 (中野 雄介)

******************************************************************
■ <セミナー>  NUOPT セミナーのご案内
******************************************************************

---- [ NUOPT セミナー開催日程 ] ----------------------------------
  ・ 10 月  1 日(金) 13:30 ~ 16:30  生産スケジューリング・
                                              自動作成支援セミナー
  ・ 10 月  7 日(木) 10:30 ~ 17:00  金融工学セミナー
  ・ 10 月 20 日(水) 13:30 ~ 17:00  スキルアップセミナー・基礎編
  ・ 11 月  9 日(火) 13:30 ~ 17:00  スキルアップセミナー・実践編
  ・ 11 月 25 日(木) 13:30 ~ 16:30  最適化入門セミナー

会場:
  (株)数理システム・セミナールーム
    (東京都新宿区新宿二丁目 3 番 10 号新宿御苑ビル 4 階)
お申し込み先:
  (株)数理システム << NUOPT >> 担当  < nuopt-info@ml.msi.co.jp >
セミナーの詳細:
  下記 URL をご参照ください.
    http://www.msi.co.jp/nuopt/seminar/index.html
------------------------------------------------------------------

8 月 25 日の金融工学セミナーは大好評につき満席でございました.お申
し込み頂いた方でお断りしてしまった方には大変申し訳ございませんでし
た.
上記のセミナーはいずれもマシンを操作して頂きながら皆様の疑問を解決
するものでございますので,どうしても大人数の開催ができません.参加
希望の方は早めにお申し込み頂ければと思います,奮ってご参加ください.

                                                 (佐藤 誠)

******************************************************************
■ <  tips  >  SIMPLE よくある間違い(第 14 回)
******************************************************************

このコーナーでは,SIMPLE の記述に関してお客様が陥りやすい間違いを
紹介していきます.

今回は,モデルの外部からデータを与える時の添字付けの際によくある間
違いをご紹介します.
まずは次のモデルをご覧ください.

-- [ model1.smp ] ------------------------------------------------
options.noDefaultSolve = 1;

Set S(name = "S");
Element i(set = S);
S = "これ それ あれ";
Parameter P(name = "P", index = S);
P["これ"] = 1;
P["それ"] = 2;
P["あれ"] = 3;

S.val.print();
P.val.print();
------------------------------------------------------------------

「 options.noDefaultSolve = 1 」は前回も出てきましたが,本モデルで
は最適化計算を行わないことを明示するための設定です.
model1 を実行すると,

---[ 出力 1 ]-----------------------------------------------------
S=("これ" "それ" "あれ")
P["あれ"]=3
P["これ"]=1
P["それ"]=2
------------------------------------------------------------------

というような出力がなされるはずです.これが意図している出力です.

では,次にデータを外部から与えるように書き直してみます.
モデルファイルを

-- [ model2.smp ] ------------------------------------------------
options.noDefaultSolve = 1;

Set S(name = "S");
Element i(set = S);
Parameter P(name = "P", index = S);

S.val.print();
P.val.print();
------------------------------------------------------------------

とし,データファイルを以下のものとします.

-- [ data.dat ] --------------------------------------------------
S = "これ あれ それ";
P = ["これ"] 1 ["それ"] 2 ["あれ"] 3;
------------------------------------------------------------------

さて,このときデータとして data.dat を与えて,model2 を実行すると,
どのような出力がなされるでしょうか?
先ほどと同じような出力になるでしょうか?

実際に実行すると,

---[ 出力 2 ]-----------------------------------------------------
S=("これ あれ それ" "これ" "それ" "あれ")
P["あれ"]=3
P["これ"]=1
P["これ あれ それ"]=0
P["それ"]=2
------------------------------------------------------------------

のように,意図していない "これ あれ それ" という添字が生成されてし
まいました.
実は外部からデータを与える時には,ダブルクォート「 " 」でくくった部
分はひとつの要素として認識されるのです.
そこでデータファイルを以下のものに換えてみます.

-- [ new_data.dat ] ----------------------------------------------
S = これ あれ それ;
P = [これ] 1 [それ] 2 [あれ] 3;
------------------------------------------------------------------

これをデータファイルとして再度 model2 を実行すれば意図通り,出力 1
と同様な出力が得られたと思います.

いかがだったでしょうか.ダブルクォートを使用する際には十分注意して
いただければと思います.
それでは次回もよろしくお願いします.

                                                  (白川 達也)

==================================================================
※ このメールは,展示会・セミナー等で名刺交換をされた方,過去に
    NUOPT に関するお問い合わせを頂いたことのある方,および本メール
   マガジンの配信を希望された方にお送りしています.
※ バックナンバーはこちらから御覧頂けます.
     http://www.msi.co.jp/nuopt/mailmagazine/index.html
※ 本メールマガジンは等幅フォントでお読みになることを推奨します.
※ 今後このメールマガジンが不要な方は,誠にお手数ですが,「メール
   マガジン配信停止」という件名のメールを nuopt-ms@ml.msi.co.jp
   にお送りください.

発行:株式会社 数理システム << NUOPT >> 担当
        東京都新宿区新宿二丁目 4 番 3 号 フォーシーズンビル 10 階
                                e-mail : nuopt-magazine@ml.msi.co.jp
==================================================================