トップ > ユーザーサポート > Numerical Optimizer FAQ > S+NUOPT

Numerical Optimizer FAQ

S+NUOPT

コマンドラインからは実行できるけど、スクリプトとして実行すると "System is empty" とエラーメッセージが出ます。

スクリプトとして実行する場合は、モデルを関数化して実行してください。

例えば、

 module(nuopt)
 new.model()
 x <- Variable()
 o <- Objective()
 o ~ x
 x >= 3
 sys <- System()
 sol <- solve(sys)

というモデルの場合は、以下のようにモデルを関数化して実行します。

 module(nuopt)
 model <- function()
 {
   x <- Variable()
   o <- Objective()
   o ~ x
   x >= 3
 }
 sys <- System(model)
 sol <- solve(sys)

ライセンスファイルをインポートしたら「実行時エラー '5': プロシージャの呼び出し、または引数が不正です。」と出ました。

例えばリモートのディスクに保存したライセンスファイルをインポートした場合に、このエラーが発生します。このような場合はライセンスファイルをローカルのディスクに保存してからインポートしてください。

Numerical Optimizer との違いは何ですか?

S+NUOPTNumerical Optimizer との違いは以下のようになります。

S+NUOPT で利用できるアルゴリズムは Numerical Optimizer フルセットモジュールと同等です。ただし、RCPSP というプロジェクトスケジューリングに特化したアルゴリズムは利用できません。

詳細については S+NUOPT のホームーページ をご覧ください。

「length of data is longer than product of dimensions, data truncated in」と出ます。

関数 solveQP の内部において、長いリストから短いリストを取り出す操作をしている部分があり、この操作に対して S 言語が出している警告です。無害です。