LSSOL output 6のデバッグ

このページでは、lssol output (6)と呼ばれる既知の問題のデバッグに役立つ情報を提供します。このエラーは、通常以下のように表示されます。

lssol output (6):
An input parameter is invalid

QP failed to run()

注: このページではLSSOLについて説明していますが、この情報は二次計画法に関する他の問題のデバッグにも役立ちます。

メッセージが示すように、ソルバーへのいずれかの入力が正しくありません。LSSOLは、以下のいずれかの場合にこのメッセージを返します(以下は可能性が最も高いものから低いものの順に並んでいます)。

  1. 制約条件 \(b_l \leq A_i\^T x \leq b_u \) または変数 \(b_l \leq x_i \leq b_u\) の境界値が正しくない。すなわち、
    • \(b_u < b_l\) (最も可能性が高い)
    • \(b_l = b_u\) and \(\mid b_l \mid > bigbnd\)
  2. ウォームスタートデータが正しくない
  3. 置換 \(k_x\) を使用するソルバーが呼び出されたが、\(k_x\) が正しくない
  4. ワークスペースに十分なメモリが割り当てられていない

問題の性質がどのようなものであるかは、ファイル/tmp/fort.9を見ると分かります。このファイルには以下のような行が記述されています。

  • XXX The bounds on varbl 3 are inconsistent. bl = -1000.000 bu = -10000.00 (変数の境界値が矛盾している)
  • XXX The bounds on lncon 4 are inconsistent. bl = 2 bu = -1.000000 (制約条件を表す不等式の境界値が矛盾している)
  • XXX The equal bounds on lncon 1 are infinite. Bounds = 0.1000000+101 bigbnd = 0.9999900E+10 (制約条件を表す等式 \(A_i^T x = b\) の \(b\) が大きすぎる。これは、内部では \(b \leq A_i^T x \leq b\) として表されます)

注: Windowsでは、このファイルはLSSOLを使用するアプリケーションが実行されたフォルダーに格納されます。