Nuorium は数理最適化問題を計算機上で解くために、特別に設計された GUI 環境であり、また高度な編集能力をもったエディタです。


Nuorium を使用することで、誰もが Nuorium Optimizer の能力を十分に引き出し、数理最適化問題の定式化・求解・分析といった 一連の流れをスムーズにこなせます。そればかりか任意のファイルを編集し、内蔵のファイラと共に多くの作業を自己完結できます。 実務者目線に立った機能の充実を第一に開発しており、日々のモデリングを強力にサポートします。



Nuorium


主な機能

ユーザフレンドリーな環境設定

ユーザフレンドリーな環境設定

C++ をベースとした モデリング言語 C++SIMPLE やその他の約 120 種あるプログラミング言語のシンタックスハイライトとキーワード補完がビルトインで 備わっており、テキストエディタにありがちな面倒な環境設定を必要としません。 起動した直後からすぐに作業に入れます。

フォントサイズやタブサイズなど、テキストエディタの作業効率を左右する主要な設定項目を視覚的にリアルタイムで確認できる 設定 UI が備わっています。設定方法を覚える必要がないので、本来の作業に集中できます。

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

JSON ファイルによるデータ連係と外部コマンド実行

モデル・データ連係はテキストベースの JSON 形式で管理可能です。 一つのモデルに対して異なるデータを切り分けて実行したい場合や、同一データで異なるモデルを実行したい場合など、 様々なシーンの要求を管理可能です。

実行は最適化計算だけでなく、外部コマンドの呼び出しも可能です。 これにより例えば Python インターフェース PySIMPLE の呼び出しなど、より包括的な実行環境が利用可能です。

インスタンスハイライト

C++SIMPLE の記述が数百から数千行単位になってきますと、インスタンス名だけから、それが変数なのか定数なのか、 はたまた集合や添字なのかといったことが一目では判別が難しくなってきます。 Nuorium では C++SIMPLE ファイルの編集と同時に今画面に見ているインスタンスが、変数なのか定数なのかといったことが一目できます。

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

インスタンス選択

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

インスタンスの記述行

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

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

クラスごと記述行

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

豊富な編集環境

Markdown

モデルファイルから Markdown への変換や Makrdown 及び TeX 形式プレビューなど、 開発したモデルのメンテナンスといった実務もサポートします。

Markdown プレビュー

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

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

Nuorium Markdown プレビューイメージ

C++SIMPLE と Markdown の連携機能

C++SIMPLE ソースコードに Markdown を記述できる特別なコメントシンタックスを追加しています。 これによりモデルがそのままドキュメントとして転用することも可能で、保守性の向上に役立てられます。

エディタ機能

ファイラ

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

Nuorium ファイライメージ

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 数式プレビューイメージ