3.1. PySIMPLE の基本事項

3.1.1. モデリング言語 PySIMPLE とは

PySIMPLE はシステムの記述をなるべく人間に馴染みのある数学的な記述方法で簡単に行ない, 実際のシミュレータやソルバなどが認識できるような表現に翻訳して所要の解析を行うことを目的とします.

PySIMPLE はプログラミング言語 Python を用いて実装されています. PySIMPLE を用いるに際して Python の知識を特別必要とすることはありませんが, 一部 Python を理解していないと利用が難しい機能もあります.

3.1.2. PySIMPLE の構成

最適化パッケージソフト Nuorium Optimizer のインターフェースとして PySIMPLE をご利用いただく場合, 以下の構成となります.

  • PySIMPLE(数理計画問題を記述するためのモデリング言語)

  • Nuorium Optimizer(数理計画問題を解くための求解ソルバ)

本マニュアルで Nuorium Optimizer と呼ぶ場合,上記二つをまとめたソフト全体を指すケースと, 後者の求解ソルバのみを指すケースがありますのでご注意ください.

3.1.3. PySIMPLE の利用法

PySIMPLE を用いて Nuorium Optimizer をご利用いただく場合,コマンドライン等の Python を起動させる 方法にて実行させます. コマンドラインによる実行方法は 数理計画問題を解く をご覧ください.

3.1.4. PySIMPLE の処理の流れ

PySIMPLE の利用法 で取り上げたコマンドラインでの処理の流れを説明します.

  1. PySIMPLE で数理計画問題(モデル)を記述

  2. モデルを Python のスクリプトとして実行

数理計画問題(モデル)の記述はテキストエディタをご利用ください.

また,ファイル名には Windows のファイル名として使える文字が使用できますが, 通常は半角英数字および半角アンダースコア(_)程度にしておきましょう.

3.1.5. ファイルの文字コード指定について

Python3 では ソースコードのデフォルトエンコーディングは UTF-8 なので, ソースコード中に Unicode 文字をそのまま含めることができます.

ソースコードの文字コードが UTF-8 でない場合,Python はソースコードの解釈に失敗することがあります. 例えば,ソースコードの文字コードが shift_jis である場合,次のようなエラーが出ます.:

SyntaxError: Non-UTF-8 code starting with '…' in file …

これはソースコードを UTF-8 として解釈しようとしているためです. このような場合,次のような特殊な形式のコメントをソースコードの 1 行目もしくは 2 行目に配置することで, UTF-8 ではないエンコーディングを使うことができます.:

# -*- coding: shift_jis -*-

詳細は Python の ソースコードの文字コード をご確認ください.