バックナンバー ( 2012 Vol.2 ) 2012 年 3 月 15 日 発行
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= 数理システム NUOPT メールマガジン http://www.msi.co.jp/nuopt/ 2012 Vol.2 ( 2012 年 3 月 15 日 発行 ) -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= 数理システム NUOPT メールマガジンでは,数理計画法パッケージ NUOPT に関する様々な情報やご案内を提供していきます. ++++ [目次] ++++++++++++++++++++++++++++++++++++++++++++++++++++++ ■ <トピック> NTT データグループ入りに関しまして ■ <トピック> 数理計画用語集 用語追加 ■ <トピック> 出展のご案内 ■ <トピック> 数理計画問題の豆知識(第 10 回) ■ <セミナー> NUOPT セミナーのご案内 ■ < tips > SIMPLE 記述のテクニック(第 6 回) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ****************************************************************** ■ <トピック> NTT データグループ入りに関しまして ****************************************************************** NUOPT 開発責任者の田辺です. 弊社 WEB ページやプレスリリース,ユーザーの方へのお知らせの中にござ いましたように,弊社は 2012 年 2 月 15 日より NTT データグループ入 りの運びとなりました. 「グループ入りにより,パッケージ開発や受託の体制はどの様になるのか」 という疑問にまずはお答えいたします. NUOPT をはじめとするパッケージやその開発の方向性,受託する仕事の選 択については現状のままを維持,旧経営陣も指令搭として技術的なイニシ アチブを取ります. NUOPT の開発・サポート体制もこれまでと一切変化ございませんので,ど うかご安心くださいませ. NTT データとのシナジーが期待されるビジネスアナリティクス分野は, ビッグデータがブームとなっている昨今,数理計画の将来性ある応用分野 の一つとして,これまで通り業務の開拓や拡大に注力します. 一方で,我々には金融工学やエネルギー,ロジスティクス,スケジューリン グ,ネットワークなど,他にも同様に魅力ある応用分野が開かれているこ とも,同時に認識しております. 従いまして,これまで通り特定分野に偏らず,多彩な機能を持つパッケー ジ,そして,数理計画法の普及という社会的使命を意識しつつ,大企業向 けシステム開発から,研究のプロトタイプ作成まで,小回りの効くチーム でありつづけること,ここに宣言させていただきます. 今後とも NUOPT をどうかよろしくお願い申しあげます. (田辺 隆人) ****************************************************************** ■ <トピック> 数理計画用語集 用語追加 ****************************************************************** 弊社数理計画部では,「数理計画用語集」を公開しています. http://www.msi.co.jp/nuopt/glossary/index.html 今回の新語は以下の通りです. <新語> ・ビジネスアナリティクス ・ビッグデータ ・確率的勾配降下法 ・VAP ご意見,ご要望等ございましたら,お気軽に用語集編集委員会 nuopt-glossary@ml.msi.co.jp までご連絡ください. (村山 昇) ****************************************************************** ■ <トピック> 出展のご案内 ****************************************************************** 2012 年 3 月 27 日(火)〜 28 日(水)に防衛大学校にて開催される, 日本オペレーションズ・リサーチ学会 2012 年春季研究発表会に出展致し ます. 今回から「NUOPT のパネルの刷新」および「最適化読本の無料配布」を予 定しております.学会に参加される方は是非とも出展ブースにお立ち寄り くださいませ. (佐藤 誠) ****************************************************************** ■ <トピック> 数理計画問題の豆知識(第 10 回) ****************************************************************** このコーナーでは数理計画に関連する豆知識をご紹介していきます. 第 10 回目となる今回は,制御分野において重要な「システムの安定性」 という問題について,数理計画の視点からお話をさせていただきます. 「システムの安定性」という表現に耳慣れない方もいるかと思いますが, これは大雑把に言うと, 1. 以前の状態から現在の状態が一意的に定まる仕組みが存在する 2. 1. の仕組みをそのまま放置しておくと,一定の値に収束する という性質の事を指します.この仕組みの事をシステムと呼びます. より数学的な言葉で言えば,以下の微分方程式: dx(t)/dt = A x(t) が,一定の極限値 x(∞) を有する事を意味します. 行列 A が定数行列の場合,「システムの安定性」は A の固有値実部が 全て負である事と等価であり,直接調べる事が可能です. しかし,現実的には A を定数行列とする仮定にはしばしば無理があり, A にある程度自由度が存在するという条件下で「システムの安定性」を調 べる必要があります. 特に A が定数行列 A1 ... An の凸結合で表現される範囲で自由度を持つ 場合,即ち A = a1*A1 + ... + an*An, a1 ... an >= 0, a1 + ... + an = 1 の範囲で自由度を持つ場合,「システムの安定性」は半正定値計画問題と して定式化する事が可能です[1]. 具体的には, (s, X) を変数とする,以下の半正定値計画問題が負の最適 解を持てば(より厳密には,負の実行可能解を持てば),このシステムは 安定であると言えます.なお,ここで X >= 0 という表現は「 X が半正定 値である」という制約を意味します. min s s.t X - I >= 0 sI - Ai^T X - X Ai >= 0, i = {1 ... n} この場合,単に各 Ai の固有値が全て負である事を確認するだけでは,シ ステムの安定性を主張するには不十分である事にご注意ください. NUOPT は半正定値計画問題に対応しており,この「システムの安定性」の 問題を解く事が可能です. 参考文献: [1] Ben-Tal and Nemirovski, "Lectures On Modern Convex Optimization", SIAM, 2001 (原田 耕平) ****************************************************************** ■ <セミナー> NUOPT セミナーのご案内 ****************************************************************** ---- [ NUOPT セミナー開催日程 ] ---------------------------------- ・4 月 18 日(水)13:30 〜 16:30 最適化入門セミナー ・4 月 26 日(木)13:30 〜 17:30 NUOPT 金融工学セミナー ・5 月 17 日(木)13:30 〜 17:00 NUOPT スキルアップセミナー・基礎編 ・5 月 23 日(水)13:30 〜 17:00 NUOPT スキルアップセミナー・実践編 会場: (株)数理システム・セミナールーム (東京都新宿区新宿二丁目 3 番 10 号新宿御苑ビル 4 階) お申し込み先: (株)数理システム << NUOPT >> 担当 < nuopt-info@ml.msi.co.jp > セミナーの詳細: 下記 URL をご参照ください. http://www.msi.co.jp/nuopt/seminar/index.html ------------------------------------------------------------------ 2011 年度の定期セミナーは総計 250 名以上の方にご参加頂きました. 最適化・数理計画に沢山の方にご興味をお持ち頂き大変うれしく思ってお ります.今後も皆様にお楽しみいただけるよう鋭意セミナーを企画してま いりますのでどうぞご期待ください. 2012 年度序盤のセミナーの日程は上記のとおりとなります.参加費無料 ですので奮ってご参加ください. (佐藤 誠) ****************************************************************** ■ < tips > SIMPLE 記述のテクニック(第 6 回) ****************************************************************** このコーナーでは,SIMPLE のモデルファイルの記述に際して,知っておく と得をするテクニックや,マニュアルでは紹介していない便利な機能など について,日々 SIMPLE を使用し開発している立場から紹介させて頂けれ ばと思います. 今回は,モデルファイル中で,自作の関数を定義し,使用する方法をご紹 介します. たとえば,モデルファイル中で,何度もファイルを開く場面を想像して下 さい.何らかの原因により,ファイルが正しく開けなかった場合,予め自 分で定義しておいた特定のエラー番号(今回は 1 とします)を返り値とし て,モデル実行を中止したい場合,以下のように書くことができます. ------------------------------------------------------------------ ...... FILE* fp; fp = fopen("test.txt", "w"); // 書き込みモードで test.txtを開く if(!fp){ // ファイルが開けなかった printf("file %s cannot open.\n", "test.txt"); exit(1); } ..... ------------------------------------------------------------------ ファイルが一つであれば上記のような書き方で問題ないのですが,モデル が大規模で,たくさんのファイルを開かねばならない場合,開いたファイ ル毎に「ファイルが開けなかったら云々」という処理を書くのは煩わしい かもしれません. そのような場合,自作のファイルオープン関数を作ってしまうのをお勧め します.具体的には,以下のようにします. ------------------------------------------------------------------ ...... // モデルの末尾 %%%%% #include <stdio.h> %%%%% %%%%% #include <stdlib.h> %%%%% FILE* wrap_fopen(const char* filename, const char* open_mode) { FILE* fp; fp = fopen(filname, open_mode); if(!fp){ printf("file %s cannot open.\n", filename); exit(1); } return fp; } ------------------------------------------------------------------ 上記のように記述してから,いざファイルを開く場面では,次のようにこ の関数を使用します.定義自体はモデルの末尾でしたが,モデルの途中で 使用する事ができます. ------------------------------------------------------------------ FILE* fp = wrap_fopen("test.txt", "w"); ...... %%%%% include <stdio.h> %%%%% ...... ------------------------------------------------------------------ SIMPLE においては,モデルの末尾で %%%%% #include <foo.h> %%%%% などと書くことにより,任意のヘッダファイルをインクルードすることが できます.また,ヘッダインクルードの行に後続して,自作の関数を定義 することもできます. いかがでしょうか.自作の関数の定義を定義する方法を覚えておけば,モ デル記述の表現の幅が広がります. それでは,次回以降もよろしくお願いいたします. (白川 達也) ================================================================== ※ このメールは,展示会・セミナー等で名刺交換をされた方,過去に NUOPT に関するお問い合わせを頂いたことのある方,および本メール マガジンの配信を希望された方にお送りしています. ※ バックナンバーはこちらから御覧頂けます. http://www.msi.co.jp/nuopt/mailmagazine/index.html ※ 本メールマガジンは等幅フォントでお読みになることを推奨します. ※ 今後このメールマガジンが不要な方は,誠にお手数ですが,「メール マガジン配信停止」という件名のメールを nuopt-ms@ml.msi.co.jp にお送りください. 発行:株式会社 数理システム << NUOPT >> 担当 東京都新宿区新宿二丁目 4 番 3 号 フォーシーズンビル 10 階 tel : 03-3358-6681 e-mail : nuopt-info@ml.msi.co.jp ================================================================== |