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

バックナンバー ( 2022 Vol.2 ) 2022 年 3 月 10 日 発行

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  数理システム 最適化メールマガジン  https://www.msi.co.jp/nuopt/
                           2022 Vol.2 ( 2022 年  3 月 10 日 発行 )
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

数理システム 最適化メールマガジンでは,数理計画法パッケージ
Numerical Optimizer(V24 より Nuorium Optimizer)をはじめとして,
最適化に関する様々な情報やご案内を提供していきます.

++++ [目次] ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 ■ <トピック> Nuorium Optimizer V24 3 月リリース予定
 ■ <トピック> 出展・発表案内
 ■ <セミナー> オンラインセミナーのご案内
 ■ <  tips  > 使ってみよう PySIMPLE(第 17 回)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

******************************************************************
■ <トピック> Nuorium Optimizer V24 3 月リリース予定
******************************************************************

Nuorium Optimizer V24 を 3 月中にリリースする予定です.
V24 では以下の機能が強化されています.

  - スパース LP / QP 単体法

  - 局所探索法 WLS の QCQP 対応

  - RSIMPLE(旧 RNUOPT )の統合

  - モデリング言語 PySIMPLE を強化
      - IIS オブジェクトの取得
      - PySIMPLE オブジェクトのシリアライズ

  - Nuorium
      - ターミナル機能
      - 一括変換機能

V23 にて導入されたスパース LP 単体法(hsimplex)を V24 では改良し,
主単体法及び双対単体法の切り替えが可能となります.
また,このスパース LP 単体法を二次計画問題を扱えるよう拡張した
QP 単体法が利用できます.LP 単体法と同様に,ハイパースパース性を
もつ問題(スパースな基底解が多い問題)に対して高速に動作します.
二次計画問題を解く際には,解法の一つとしてぜひご検討ください.

局所探索法 WLS は二次の制約を持つ最適化問題(QCQP)に対応します.
二次のコストを持つ関数を最適化し,さらに次の段階で目的関数に制約を
加えたい場合などに活躍します.

上記にあげました解法 hsimplex および wls は PySIMPLE からのみ利用
することができますのでご注意ください.

数理最適化専用開発環境である Nuorium はターミナル機能を搭載しました.
Windows に付属しているコマンドプロンプトを呼び出すことはもちろん,
カスタマイズして PowerShell(パワーシェル)や bash を呼び出すことも
可能です.
また設定によって PySIMPLE をインタラクティブに使用することも可能に
なりました.本機能により Nuorium 上での開発はより効率的になります.

派生製品として販売させていただいていた R インターフェイスの
数理最適化ソフトウェア RNUOPT が新たに RSIMPLE として 
Nuorium Optimizer に統合されます.
ライセンスも統合され,シームレスな利用が可能となります.

PySIMPLE の新機能の内,「IIS オブジェクトの取得」については
「使ってみよう PySIMPLE」で紹介しています.
他の機能も今後のメールマガジンでご紹介する予定ですので,お楽しみに
お待ちください!

                                                (藤井 浩一)

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

以下の学会に Nuorium Optimizer もオンライン出展いたします.

  日本オペレーションズ・リサーチ学会 2022 年春季研究発表会
    開催日:3 月 17 日(木) ~ 3 月 18 日(金)
    https://orsj.org/nc2022s/
    
春季研究発表会では,以下の発表も行います.

  「ラグランジュ緩和法における実行可能性の担保」
      *原田耕平(NTT データ数理システム)

ラグランジュ緩和法は,分解可能で大規模な数理最適化問題を解く有用な
手法として知られています.その一方で,この手法には解の実行可能性を
明示的に担保する仕組みがないという欠点があります.
今回の発表では,その欠点を克服するための既知の研究と,発表者による
その拡張を紹介します.

参考文献:

[1] Vujanic, Robin and Esfahani, Peyman Mohajerin and Goulart, 
Paul J and Mari´ethoz, S´ebastien and Morari, Manfred: 
A decomposition method for large scale MILPs, with performance 
guarantees and a power system application, Automatica (2016).

[2] Kouhei, Harada: A Feasibility-Ensured Lagrangian
Heuristic for General Decomposable Problems, Operations 
Research Forum (2021).

春季研究発表会のイベント

  公開座談会  ~OR研究の現在と未来~
  開催日時  3 月 18 日(金) 13:20 ~ 14:20

にてパネリストとして登壇します.研究は私の主たる業務ではないの
ですが,アカデミックに一定の接点がある,企業側の視点が提供
できればと考えています.

                                                (原田 耕平)

******************************************************************
■ <セミナー> オンラインセミナーのご案内
******************************************************************

定期的に無料のオンラインセミナーを開催しています.
4 月からは製品名称を Nuorium Optimizer とし,新しい気持ちで
セミナーを開催いたします.紹介セミナーの内容にもアレンジが加わる
予定です.一度受講された方もお時間がありましたら是非ご参加ください.

・ 5 月までに開催予定の無料オンラインセミナー一覧
※ 3 月末まで,リンク先における製品名称は Numerical Optimizer です.

[ Nuorium Optimizer 紹介セミナー ]
  2022 年 04 月 15 日 (金) 13:30~15:30
  2022 年 05 月 11 日 (水) 13:30~15:30
  詳細とお申込み:https://www.msi.co.jp/nuopt/seminar/introduction.html

[ Nuorium Optimizer ハンズオンセミナー ]
  2022 年 04 月 19 日 (火) 13:30~16:00
  2022 年 05 月 20 日 (金) 13:30~16:00
  詳細とお申込み:https://www.msi.co.jp/nuopt/seminar/hands-on.html

[ 製造現場の業務改善に向けた数理最適化ソリューション紹介セミナー ]
  2022 年 04 月 27 日 (水) 13:30~15:30
  詳細とお申込み:https://www.msi.co.jp/nuopt/seminar/manufacture.html

[ エネルギーマネジメント最適化セミナー]
  2022 年 05 月 24 日 (火) 13:30~15:30
  詳細とお申込み:https://www.msi.co.jp/nuopt/seminar/enemanage.html

                                                (石橋 保身)

******************************************************************
■ <  tips  > 使ってみよう PySIMPLE(第 17 回)
******************************************************************

このコーナーでは,Numorium Optimizer の Python インターフェース
PySIMPLE のエッセンスを紹介していきます.

3 月にリリースされる V24 では幾つもの機能拡張や機能追加がされました.
今回はこのうち,そのひとつである実行不可能性要因検出機能(iisDetect)
について紹介します.

数理最適化問題を扱う場合,すべての制約式を満たすことができない,すなわち
実行不可能である場合があります.制約式同士は複雑に絡み合っているため,
その原因を特定することは非常に困難です.
Nuorium Optimizer では線形計画問題に対して,実行不可能時にその要因を
検出する機能 iisDetect を備えています.iisDetect 機能は実行不可能性の
原因となっている組(Irreducible Infeasible Set: IIS) を特定して出力
します.
V23 までの Numerical Optimizer でも解ファイルを出力すれば IIS を確認
することができましたが,V24 では,この IIS を PySIMPLE オブジェクト
として扱うことができるようになりました.簡単な例を見てみましょう.

------------------------------------------------------------------
x = Variable(lb=0)
y = Variable(lb=0, ub=1)
z = Variable(lb=0)
problem = Problem()
problem += x + y + z
problem += y + z >= 0, 'cons1'
problem += x + y >= 5, 'cons2'  # IIS
problem += x + z <= 3, 'cons3'  # IIS
problem.solve()
assert problem.status == NuoptStatus.INFEASIBLE
------------------------------------------------------------------

よく見るとモデルで IIS のマークが付いた制約式群のどの一つを除去しても
実行不可能性は解消しますが,すべてを満たす x, y, z は存在しません. 
また,マークされていない最初の制約式は実行不可能性とは無関係で,除去
する,しないにかかわらず,問題は実行不可能であることもわかります.
iisDetect 機能はデフォルトで有効であり,problem.result.iis で取得する
ことができます.上記のモデルで求解後に IIS を print すると次のように
表示されます.

------------------------------------------------------------------
  0: cons2: violation=1
      x+y>=5
  1: cons3
      -x-z>=-3
------------------------------------------------------------------

cons1, cons2, cons3 の制約のうち,cons2 と cons3 が互いに矛盾する
制約式の最小の組(のひとつ)であることが分かりました.また,実行不可能
ではあるものの,変数には何らかの値が設定されており,実際に制約違反を
起こしている制約は cons2 で,違反量は 1 であることも分かります.
更に problem.result.iis[0] として個別の詳細情報にアクセスし,細かい
制御をすることもできます.例えば,違反している制約式によって挙動を
変えることもできます.以下の例では違反している制約式 cons2 を除去し
再求解をしています.

------------------------------------------------------------------
del problem['cons2']
problem.solve()
assert problem.status == NuoptStatus.OPTIMAL
assert problem.result.iis is None  # 実行可能の場合は IIS は None
------------------------------------------------------------------

また,V24 では LP/QP に対して制約式種を指定することができるように
なっているため,違反の可能性がある制約式をソフト制約にする,などの
使い方もできるようになっています.

いかがでしたでしょうか.V24 では他にも新機能が加わったり,動作環境の
追加も行われていますので確認してみてください.

V24 の PySIMPLE の更新履歴はこちら:
    https://www.msi.co.jp/nuopt/docs/v24/pysimple/changelog.html

実行不可能性要因検出機能の詳細はこちら:
    https://www.msi.co.jp/nuopt/docs/v24/pysimple/guide/iis.html
    https://www.msi.co.jp/nuopt/docs/v24/pysimple/api/class.html#pysimple.problem.IIS

                                                (池田 悠)

==================================================================
※ msi-ms@ml.msi.co.jp は送信専用アドレスです。
  本メールにそのままご返信いただいてもご回答いたしかねます。

※ このメールは、弊社ツールのユーザー様、過去に展示会などで
お名刺等を頂いたことのある方や 当社に直接お問合せを頂いたことの
ある方にお送りしています。

※ バックナンバーはこちらから御覧頂けます。
     https://www.msi.co.jp/nuopt/mailmagazine/index.html

※ 本メールマガジンは等幅フォントでお読みになることを推奨します。

※ 今後、ご案内メールが不要な方は、誠にお手数ですが、下記 URL より
  「案内停止手続き」をしてくださいますようお願いいたします。

■ 案内停止はこちらから ■
      [都合により本ページでは URL を掲載しておりません]

ご登録される情報は、暗号化された通信(SSL)で保護され、プライバシーマークや
ISO27001/JIS Q 27001, ISO20000-1, ISO9001の 認証を取得している
株式会社パイプドビッツによる情報管理システム「スパイラル」で安全に管理されます。

上記にアクセスができない場合には「メール不要」と明記の上、
 nuopt-info@ml.msi.co.jp までご連絡いただけますと幸いです。

発行:株式会社 NTT データ数理システム 
          << 数理システム Numerical Optimizer >> 担当
        東京都新宿区信濃町 35 番地 信濃町煉瓦館 1 階
                                   tel : 03-3358-6681
                                e-mail : nuopt-info@ml.msi.co.jp
==================================================================