-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
数理システム 最適化メールマガジン
https://www.msi.co.jp/solution/nuopt/top.html
2023 Vol.2 ( 2023 年 3 月 3 日 発行 )
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
数理システム 最適化メールマガジンでは,数理計画法パッケージ
Nuorium Optimizer をはじめとして,最適化に関する様々な情報や
ご案内を提供していきます.
++++ [目次] ++++++++++++++++++++++++++++++++++++++++++++++++++++++
■ <トピック> Nuorium Optimizer V25 3 月リリース予定
■ <トピック> 日本オペレーションズ・リサーチ学会での展示のご案内
■ <セミナー> オンラインセミナーのご案内
■ < tips > 使ってみよう PySIMPLE(第 23 回)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
******************************************************************
■ <トピック> Nuorium Optimizer V25 3 月リリース予定
******************************************************************
Nuorium Optimizer V25 を 3 月中にリリースする予定です.
V25 では以下の機能が強化されています.
- ソルバ
- スパース 双対 QP 単体法
- 分枝限定法の修復機能(repair)強化
- モデリング言語 PySIMPLE を強化
- 分枝限定法の終了条件をコールバック関数で判定
- wcsp の一般整数変数対応
- ドキュメント
- 求解オプションの刷新
V24 にて導入されたスパース QP 単体法(hsimplex)を V25 で改良し,
凸二次計画問題に対して双対単体法が実行できるようになりました.
本手法により,特に最適解においてアクティブな制約が少ない問題
(最適解が制約から離れている問題)に対して,より高速に求解できる
ようになりました.
凸二次計画問題を解く際には,解法の一つとして是非ご検討ください.
解法 hsimplex は PySIMPLE からのみ利用することができますので
ご注意ください.
分枝限定法における解の修復(repair)において,積極的に修復を
おこなうオプション(aggressive)が追加されました.
実行可能解の発見が難しい整数計画問題があれば,本機能を是非
ご検討ください.
PySIMPLE の新機能の内,「分枝限定法の終了条件をコールバック
関数で判定」については「使ってみよう PySIMPLE」で紹介しています.
制約充足問題に対するメタヒューリスティクスアルゴリズム wcsp に
おいて,0-1 整数変数だけではなく一般整数変数(上下限が 0, 1
とは限らない変数)も扱えるようになりました(PySIMPLE のみ).
Nuorium Optimizer マニュアルの「求解オプション」の説明が刷新され,
各モデリング言語(PySIMPLE, C++SIMPLE, RSIMPLE)での設定方法が
統一的に記述されるようになりました.
Nuorium Optimizer V25 の 3 月リリースに向けて鋭意作業中です.
是非ご期待ください!
(藤井 浩一)
******************************************************************
■ <トピック> 日本オペレーションズ・リサーチ学会での展示のご案内
******************************************************************
「日本オペレーションズ・リサーチ学会 2023 年春季研究発表会」にて
企業展示を行います.
展示ブースでは最適化読本をお配りしておりますので,
学会に参加される方は是非弊社展示ブースにもお立ち寄りください.
[ 日時 ]
2023 年 03 月 07 日(火)~ 03 月 08 日(水)
[ 場所 ]
中央大学 後楽園キャンパス
[ 詳細 ]
学会 HP https://orsj.org/nc2023s/
(保科 拓紀)
******************************************************************
■ <セミナー> オンラインセミナーのご案内
******************************************************************
5 月までに開催する無料のオンラインセミナーをご紹介します.
4 月には Nuorium Optimizer 金融工学セミナーを開催します.
金融工学に特化した内容で,デモを通して「金融工学におけるリスク
最小化の考え方」,「イールドカーブと非線形計画法,判別分析と
半正定値計画法」,「実務的なポートフォリオ最適化の実際」などに
ついて紹介いたします.
次回開催は未定ですので,ご興味のある方は是非この機会にご参加
ください.
定例の紹介セミナーとハンズオンセミナーも開催予定です.
ハンズオンセミナーは実際に製品を動かしながら受講いただける
セミナーになっています.こちらもぜひお気軽にご参加ください.
[ Nuorium Optimizer 金融工学セミナー ]
2023 年 04 月 12 日 (水) 13:30~15:30
詳細とお申込み:https://www.msiism.jp/event/nuopt-financial-engineering.html
[ Nuorium Optimizer 紹介セミナー ]
2023 年 03 月 15 日 (水) 13:30~15:30
2023 年 04 月 21 日 (金) 13:30~15:30
2023 年 05 月 09 日 (火) 13:30~15:30
詳細とお申込み:https://www.msiism.jp/event/nuopt-introduction.html
[ Nuorium Optimizer ハンズオンセミナー ]
2023 年 05 月 18 日 (木) 13:30~16:00
詳細とお申込み:https://www.msiism.jp/event/nuopt-hands-on.html
(保科 拓紀)
******************************************************************
■ < tips > 使ってみよう PySIMPLE(第 23 回)
******************************************************************
このコーナーでは,Nuorium Optimizer の Python インターフェースである
PySIMPLE のエッセンスを紹介していきます.
今回は 3 月にリリースされる V25 で追加された,分枝限定法の終了条件を
コールバック関数で判定させる機能について紹介します.
コールバックとは最適化計算が定期的に呼び出すユーザ定義関数のことです.
Nuorium Optimizer V25 に付属する PySIMPLE ではコールバック関数を設定
することでユーザが最適化計算の状態を問い合わせ,挙動を制御することが
できるようになります.
コールバック関数は Problem インスタンスのメソッド setCallback の引数
mip_terminate に渡すことで分枝限定法の計算内で呼び出されます.
例えば「実行可能解の個数が 1 以上になったら分枝限定法を停止する」と
いうコールバック関数は次のように記述することができます.
------------------------------------------------------------------
def func(solver):
if solver['SolutionCount'] >= 1: # 実行可能解の個数が 1 以上
return True # 分枝限定法を停止する
return False # 分枝限定法を継続する
problem = Problem()
problem.setCallback(mip_terminate=func)
------------------------------------------------------------------
ここでコールバック関数は一つの引数をとり,bool 型を返す関数を想定
します.True を返すと分枝限定法を停止し,False を返すと継続して実行
されます.
コールバック関数の引数には,本関数が呼び出された時点の最適化計算の
情報が辞書型に格納されています.
今回使用した実行可能解の数(SolutionCount)の他にも以下の情報を取得
することができます.
- ElapsedTime: 経過時間
- RelativeGap: 相対ギャップ
- AbsoluteGap: 絶対ギャップ
- Objective: 目的関数値
- SolutionCount: 実行可能解の数
- TotalMemory: メモリ消費量(MiB)
- MemoryAvailable: 利用可能メモリ量(MiB)
- PartialProblemCount: 部分問題の数(ノード数)
また,コールバック関数では停止条件の制御の他に,最適化計算の経過
情報をカスタマイズして出力する使い方もできます.
------------------------------------------------------------------
def func(solver):
print(solver['Objective'], solver['RelativeGap'], solver['AbsoluteGap'])
return False
------------------------------------------------------------------
いかがでしたでしょうか.V25 では他にも新機能が加わったり,動作環境の
追加も行われていますので確認してみてください.
PySIMPLE の更新履歴はこちら:
https://www.msi.co.jp/solution/nuopt/docs/pysimple/changelog.html
(池田 悠)
==================================================================
"
/solution/nuopt/mailmagazine/backnumber1409.html,OK,数理システム 最適化メールマガジン 2014 Vol.5,数理システム 最適化メールマガジン,,数理システム 最適化メールマガジン,3,.l-content-body > .p-block+.p-block,3,
"
バックナンバー ( 2014 Vol.5 ) 2014 年 9 月 18 日 発行
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
数理システム 最適化メールマガジン http://www.msi.co.jp/nuopt/
2014 Vol.5 ( 2014 年 9 月 18 日 発行 )
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
数理システム 最適化メールマガジンでは,数理計画法パッケージ
数理システム Numerical Optimizer をはじめとして,最適化に関する様々
な情報やご案内を提供していきます.
++++ [目次] ++++++++++++++++++++++++++++++++++++++++++++++++++++++
■ <トピック> 数理システムユーザーコンファレンス 2014 のご案内
■ <トピック> 金融国際情報技術展での講演のお知らせ
■ <トピック> Numerical Optimizer V17 に向けて
~ 行列を内部に持たない最適化 ~
■ <セミナー> Numerical Optimizer セミナーのご案内
■ <トピック> 数理計画問題の豆知識(第 17 回)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
******************************************************************
■ <トピック> 数理システムユーザーコンファレンス 2014 のご案内
******************************************************************
11 月 21 日(金)六本木アカデミーヒルズ 49 にて毎年ご好評いただいて
おります,数理システムユーザーコンファレンスを開催いたします.
今年の基調講演は,大阪ガス株式会社 情報通信部ビジネスアナリシスセン
ター所長 河本薫様にご講演頂きます.
また,今年も様々なジャンルから 20 を超える多数のユーザー様にご発表
を頂きます.
参加費用は無料でございます,皆様のご参加をお待ち申しております.
<< ユーザーコンファレンス Web ページ >>
http://www.msi.co.jp/userconf/2014/
※ お申込み開始は 10 月初旬を予定しております.
※ 近日中に講演プログラムを掲載予定です.
(佐藤 誠)
******************************************************************
■ <トピック> 金融国際情報技術展での講演のお知らせ
******************************************************************
10 月 10 日(金),FIT2014(金融国際情報技術展)にて,弊社数理計画部
部長 田辺が講演致します.
金融工学の普遍的かつ未解決なテーマとして,「リスク」の制御がござい
ます.
本講演では,
・アセットのリスクを計測するシミュレーション
・信用リスクモデルを構成するマイニング
・リスク最小のポートフォリオを生成する最適化
等の事例に威力を発揮する,NTT データ数理システムのソフトウエア及び
技術をご紹介致します.
---- [ 講演概要 ] ------------------------------------------------
タイトル:
「リスク管理の PDCA ~最適化,マイニング,シミュレーションの基盤
技術によるアプローチ」
日程:
2014 年 10 月 10 日(金) 16:30 ~ 17:30
場所:
東京国際フォーラム・展示ホール(東京・有楽町)
お申込み方法:
下記 URL にございます,セミナー申込フォームにてお申込みください.
http://www.nikkin.co.jp/fit2014/seminar.html
------------------------------------------------------------------
なお,FIT2014 は金融機関・金融系列以外の一般企業の方は入場券が必要
になります.ご希望の方には無料招待状を送付致しますので,
sales@ml.msi.co.jp までご連絡くださいませ.
(亀川 佳美)
******************************************************************
■ <トピック> Numerical Optimizer V17 に向けて
~ 行列を内部に持たない最適化 ~
******************************************************************
制約付きレコメンドなど,超大規模問題に対する数理計画法のニーズは高
まっているのですが,アルゴリズム実行に必要となる大規模な行列演算が
計算機資源上のボトルネックになっています.
これをブレークスルーできるかもしれない技術が開発され,我々も
Numerical Optimizer V17 でのリリースに向けて実装を始めました.制約
式行列をソルバー内部に持たず,制約式行列とベクトルの積のみをインタ
フェースとして,アルゴリズムを実装するのです.
行列をソルバー内部に持たないので,大規模問題において所要する計算機
資源のオーダーを大幅に減らす効果が期待できます.ただ,行列解法とし
て用いることができるのは反復法に限られることになりますので,KKT 条
件から現れる行列の悪条件の解消が必須要件となります.ここ 10 年あま
り,偏微分方程式制約付きの最適化という分野に関連して理解が進み,新
しい手法が提案されています.我々の実装の今後にご期待ください.
(田辺 隆人)
******************************************************************
■ <セミナー> Numerical Optimizer セミナーのご案内
******************************************************************
---- [ Numerical Optimizer 定例セミナー開催日程 ] ----------------
・ 9 月 24 日 (水) 13:30 ~ 17:00 スキルアップセミナー・実践編
・ 10 月 8 日 (水) 13:30 ~ 16:30 最適化入門セミナー
・ 10 月 9 日 (木) 13:30 ~ 17:00 スキルアップセミナー・基礎編
・ 10 月 10 日 (金) 13:30 ~ 17:00 スキルアップセミナー・実践編
・ 11 月 5 日 (水) 13:30 ~ 17:00 スキルアップセミナー・基礎編
・ 11 月 6 日 (木) 13:30 ~ 16:00 金融工学セミナー
会場 :
(株) NTT データ数理システム セミナールーム
(東京都新宿区信濃町 35 信濃町煉瓦館 1F)
アクセスマップ
http://www.msi.co.jp/msi/location.html
------------------------------------------------------------------
最適化入門セミナーでは,様々なデモを通して,最適化・数理計画を利用
したソリューションのご紹介をしています.
スキルアップセミナー・基礎編では,簡単な演習を通して Numerical
Optimizer の使用方法を説明しています.Numerical Optimizer の導入を
計画中のお客様にもお勧めの内容となっております.
セミナー終了後に,個別相談の時間も設けております.「最適化を利用し
て,こんなことできたらいいなぁ」とお悩みの方は,是非セミナーにお越
しください.
--- [ 大阪セミナーを開催いたします ] -----------------------------
10 月 21 日から 24 日の 4 日間にわたって,大阪にてセミナーを開催い
たします.最適化入門セミナーの他,Big Data やシミュレーションなど,
弊社の様々なソリューションをご紹介いたします.
ご興味のお持ちの方は是非ご参加ください.
・ 10 月 24 日 (水) 10:00 ~ 12:00 最適化入門セミナー
会場:
AP 梅田大阪(西梅田) (旧 ax-nets 大阪梅田)
大阪市北区曽根崎新地 2-3-21 axビル 4F
アクセスマップ
その他のセミナーについては
http://www.msi.co.jp/event/
をご覧ください.
------------------------------------------------------------------
お申込み・詳細は下記をご覧ください.
http://www.msi.co.jp/nuopt/seminar/index.html
(中野 雄介)
******************************************************************
■ <トピック> 数理計画問題の豆知識(第 17 回)
******************************************************************
第 17 回目となる今回は,実行不可能な問題例が発生する場合に,問題の
緩和列を事前に定義することで対応する方法をご紹介します.
<< 1. 農場管理者から植え付けコンサルタントへ >>
今回は,農場管理者を主人公とする次の問題を取り上げます.
---- [ 問題 ] ----------------------------------------------------
エヌ氏は 3 つに区分けされた農場を所有している.彼の管理する農場では
A ~ C の 3 種類の作物を用い,1 年を 4 期に分けて 4 毛作を実施して
いる.
A ~ C のそれぞれの作物を育てるには,1 期・1 農地にそれぞれ 3, 2, 1
だけの水が必要である.
また A ~ C のそれぞれの作物は,1 期・1 農地で育てるごとにそれぞれ
5, 3, 1 の利益をもたらす.
エヌ氏の用いている 4 毛作の方式では,
制約(1) 同一の農地では,どの種類の作物も,3 期以上連続して育てない
というルールを守らないと土地が使い物にならなくなってしまう.
また,エヌ氏の農場がある地域は取水制限が厳しく,
制約(2) どの期においても,取水量の和が 7 以下になる
ように育てる作物を選ばなければならない.
さらに,エヌ氏はノウハウの蓄積のため,また病害ですべての作物が壊滅
するのを防ぐため,
制約(3) どの作物も,4 期に一度はいずれかの農地で育てる
制約(4) どの期においても,2 種類以上の作物を育てる
ことにしている.
エヌ氏は,利益を最大化するように,12 期の植え付け計画を立てたい.
------------------------------------------------------------------
この問題には様々なパラメタが登場しますが,特に「4 期に一度」 と「2
種類以上」が,エヌ氏によって決められた制約であるということに注目し
てください.
エヌ氏は上記の問題を市販の MIP ソルバーを用いて解くことにしました.
上記問題の整数計画問題としての定式化は実行不可能(全ての制約を満た
す解が一つも存在しない)になることもなく,エヌ氏は大きな利益を上げ
ました.
彼はやがて,植え付け計画のコンサルタントとしてビジネスを始めます.
エヌ氏は,同種の制約の下で利益を最大化したい農家を顧客として,ビジ
ネスを始めることに成功しました.彼のモデルは取水制限の厳しい地域で
は実行不可能となることもありましたが,個別に制約(3)のパラメタを「
5 期に一度」としたり,制約(4)のパラメタを「1 種類以上」としたりする
ことで対処できました.
しかし,エヌ氏の顧客が増えるごとに,手作業でのパラメタ調整の負担は
大きくなっていきます.このままでは,作業量が限界を迎えることは明白
です.エヌ氏はどのような手を打つべきでしょうか.
<< 2. 緩和問題列の事前定義 >>
数理計画問題の制約条件を(部分的に)緩めたものは,緩和問題と呼ばれ
ます.
今回の問題の制約(3)や制約(4)を緩和すると,「ノウハウが溜まりにくい
解」や「病害のリスクの高い解」が得られ,喜ばしくない解であっても,
実際に実行できる結果が得られます.このような制約を緩めた緩和問題は,
元の問題が実行不可能の場合,大きな意味を持ちます.
手作業でのパラメタ調整に限界を感じたエヌ氏は,緩和問題の列を事前に
定義し,下記のフローを自動化しました.
---- [ 緩和フロー ] ----------------------------------------------
植え付け問題 P を解く → 解けた場合,その最適解を計画とする
↓ 解けなかった場合
P の緩和問題(5 期に一度) を解く → 解けた場合,その最適解を計画と
する
↓ 解けなかった場合
P の緩和問題(1 種類以上の作物) を解く → 解けた場合,その最適解を
計画とする
↓ 解けなかった場合
…(十分に長く定義)
------------------------------------------------------------------
このフローでは,パラメタを少しずつ変更し,問題を少しずつ,実行可能
になりやすいようにしています.
エヌ氏はこのような緩和問題の列を事前に定義することで,手作業でパラ
メタを書き換えることなく,多くの案件をこなせるようになりました.
また,パラメタの変更を最小限に留めることで,エヌ氏の考えぬいた良い
パラメタの性質を残すこともでき質の良い答えを得続けることができまし
た.
<< 3. まとめ >>
エヌ氏の例のように,問題なく稼働している最適化モデルに低頻度で実行
不可能な問題例が現れる場合は,事前に緩和問題列を定義しておく手法が
有用です.
実行不可能な問題に対処する方法として,WCSP(重み付き制約充足問題)
による再定式化という手法があります.2 つの手法それぞれに得意分野が
あります.
今回ご紹介した事前に緩和問題列を定義する手法は,制約の種類が少なく,
実行不可能の原因を人間が特定できる場合を得意とします.
今回ご紹介した緩和フローは,数理システム Numerical Optimizer V16 を
用いて,簡単に実現することができます.緩和問題列を使った現実問題の
解決にご関心をお持ちの方は,お気軽にご相談ください.
(石原 響太)
==================================================================
※ このメールは,展示会・セミナー等で名刺交換をされた方,過去に
数理システム Numerical Optimizer に関するお問い合わせを頂いたこ
とのある方,および本メールマガジンの配信を希望された方にお送り
しています.
※ バックナンバーはこちらから御覧頂けます.
http://www.msi.co.jp/nuopt/mailmagazine/index.html
※ 本メールマガジンは等幅フォントでお読みになることを推奨します.
※ 今後このメールマガジンが不要な方は,誠にお手数ですが,「メール
マガジン配信停止」という件名のメールを nuopt-ms@ml.msi.co.jp
にお送りください.なお,反映作業の都合上,数日間は旧情報にてメー
ルが届く場合がございます.なにとぞご容赦ください.
発行:株式会社 NTT データ数理システム
<< 数理システム Numerical Optimizer >> 担当
東京都新宿区信濃町 35 番地 信濃町煉瓦館 1 階
tel : 03-3358-6681
e-mail : nuopt-info@ml.msi.co.jp
==================================================================