トップ > 製品概要 > Numerical Optimizer 更新情報

Numerical Optimizer 更新情報

Numerical Optimizer V20 の新機能

Numerical Optimizer V20(2018 年 2 月リリース)の新機能情報を公開中です。

1. Nuorium V3

version 3.0.0 ではスタンドアローン版の大幅な機能強化と拡張を行いました。 Nuorium でこれまでになかったモデル記述を体験できます。 そしてモデル記述以外にもファイル編集を本格的に行うことができます。 モデリング補助機能を拡充し、プロユースのテキストエディタとして利用可能なように機能強化したことが改良点の大きな特徴です。 実に多くの機能強化と拡張を図っており、そのすべてをここではご紹介しきれませんが、以下に主要な幾つかをご紹介します。

Nuorium イメージ

モデリング補助機能の拡充

インスタンスハイライト

SIMPLE の記述が数百から数千行単位になってきますと、インスタンス名だけから、それが変数なのか定数なのか、はたまた集合や添字なのかといったことが一目では判別が難しくなってきます。 これまでは SIMPLE ファイルをビルドすれば、それらを一望することができました。 しかしそのような視点だけでなく、カーソル位置にあるインスタンスが何であるかも即時に知りたいものです。 version 3.0.0 ではそれが可能となりました。SIMPLE ファイルの編集と同時に今画面に見ているインスタンスが、変数なのか定数なのかといったことが一目できるようになりました。

Nuorium インスタンスハイライトイメージ

インスタンス選択

SIMPLE ファイルを編集中に、変数 foo を bar に変えたいという時があるかと思います。そのようなときにはインスタンス名だけを選択する必要があります。 文字列 "foo" やコメント // foo といった箇所を除いてインスタンス名 foo だけを変えたい場合です。 このようなことも version 3.0.0 では可能となりました。

インスタンスの記述行

ある変数 x が SIMPLE ファイルのどの行に記述されているかを、ビルド前に即時に表示する機能を追加しました。 また何行目にあるという表示とともに、その表示をクリックすることで、その行にジャンプできるタグジャンプ機能も同時に追加しております。 本機能によって、たとえ初めてモデル記述を見た場合でも、どの行にどのような形で記述されているかを、問題となっているオブジェクトだけに集中して情報を取得できます。

Nuorium インスタンスの記述行イメージ

クラスごと記述行

SIMPLE ファイル全体で変数や定数、集合・制約式などいったものが、どこにどれだけ使われているかを、ビルド前に即時に表示する機能を追加しました。 これもタグジャンプ機能を同時に追加しております。 本機能によって、現在のモデル記述がどれだけの変数や定数を含んでいるのかといったことが、すぐに知ることができます。

エディタ機能の強化

対応言語の拡充

これまで SIMPLE ファイルとそのデータファイル (dat, csv) およびパラメータファイル (nuopt.prm) そして lp, mps ファイルのみが、Nuorium で編集できる対象でした。 この制限を取り払い、任意のテキストファイル形式を編集可能にしました。 そして C/C++, Python, R, JavaScript, TeX/LaTeX, Markdown など、言語ごとに適切なシンタックスハイライトを自動で行うようにしました。 対応する言語は約 120 言語で、なおかつインストール時点からこれらシンタックスハイライトを利用できます。

Emacs キーバインド

歴史あるテキストエディタの一つに Emacs がありますが、この操作感を体感できるキーバインドモードを組み込みました。 特に難しい設定をする必要がなく、クリック一つでいつでも Emacs のキーバインドを体感できるモードに切り替えることができます。 単純なキーバインドの変更だけではなく、インクリメンタルサーチやミニバッファ、キルリングも備え、単に C-f, C-b だけのような置き換えではなく、本格的なものとなっています。 普段、Emacs を利用されているユーザでも違和感なくご利用いただけるものと思います。 また C-h を Backspace にするなどといった自分好みにキーバインドを変更することも可能です。

略語展開

TeX/LaTeX のようなマークアップ言語は定型的な記述が繰り返されるため、それが面倒なところですが、予め略語を登録することで、この作業量を激減させることができます。 例えば略語 ¥eq とだけ打てば、equation 環境の雛形に展開するといった機能です。 略語は言語ごとにユーザが任意に複数設定することができ、多様で高速な編集が可能です。

TeX 数式プレビュー

数理最適化のようないわゆる数学が必要な業務・研究を遂行する上で、数式を含んだ文書を作成することが多々あるかと思います。 数式を記述する上で最も伝統的な言語でありデファクト・スタンダードは TeX/LaTeX でしょう。 昨今は TeXLive の登場によって、環境導入の敷居はほぼ全くないほどになり、後は書き方を覚えるだけで誰もが高品質の文書を作成できる時代になりました。 その中で数式が正しく打てているかが、コンパイル前に数式として視覚的にわかるととてもありがたいものです。 例えば ¥sum_{i¥in I}x_i と記述して、いわゆるシグマ記号に下付き添字 i を伴った x というような数式が書けているかが、コンパイル前に知りたいものです。 Nuorium 上で TeX/LaTeX を編集すれば、記述と同時に数式をプレビューすることができます。 これは記述誤りによるコンパイル回数やデバッグ回数を大幅に削減します。 結果として思考を途切らせる事なく、編集作業に集中できることが期待できます。

Nuorium TeX 数式プレビューイメージ

Markdown プレビュー

TeX/LaTeX のような本格的な文書作成の他に、もっと気軽に文書を作成できる言語の代表格に Markdown があります。 Nuorium ではこれの編集とシンタックスハイライトはもちろんのこと、プレビュー機能も組み込みました。 Markdown の編集と同時にリアルタイムで、そのプレビューを見ることができます。

なお Markdown プレビューでは数式もプレビューできます。 Markdown における数式シンタックスは細かいものまで含めると少なくとも 20 種類以上ありますが、そのうち代表的と思われるもの、そして Pandoc との互換性があるものといった尺度で、プレビュー可能なシンタックスを選択いたしました。 多くの場合に数式プレビューがご利用できるようになっております。

Nuorium Markdown プレビューイメージ

ファイラ

テキストファイルの編集の他に、ファイラ機能がご利用いただけます。 Nuorium 上からファイル自体のコピー・移動・削除やディレクトリの作成といった基本的な作業ができます。 ファイラはマークや削除フラグといった Emacs の dired とよく似た操作感も再現しています。 ファイラ機能により Nuorium を中断することなく、ディレクトリ・ファイル構成を編集いただけます。

Nuorium ファイライメージ

リファレンスマニュアル

Nuorium は version 3.0.0 に至って、実に様々な機能がご利用できるようになりました。 そこですべての機能について詳細に記述した公式のリファレンスマニュアルを作成しました。 上記で説明しきれなかった新機能についても書かれてあります。 お手元にリファレンスマニュアルを置いていただき、お困りの際にぜひともご一読いただければと存じます。

Nuorium リファレンスマニュアルイメージ

2. Excel 上で手軽に最適化

Excel アドインに最適化モデルのテンプレートが追加され、モデルを記述することなく手軽に最適化ができるようになりました。

テンプレートモデルは制約の追加、目的関数の変更など Nuorium を用いて自由にカスタマイズ可能なので実用的なモデルも手早く記述できます。

3. 強化された分枝限定法

搭載されている最適化アルゴリズムは更に磨かれました。

分枝限定法では新たなヒューリスティクスにより実行可能解が発見しやすくなり、切除平面法の改良によって最適性の証明までの時間が短縮しました。

より高速に、頑健になった最適化アルゴリズムをぜひお試しください。

過去の Numerical Optimizer の更新情報

Numerical Optimizer の各バージョンにおける更新情報を記録しております。なお、各ページについてリリース当時の社名等で表記しております。