4

RStudio で lpsolveAPI を使用しています。決定変数がほとんどないモデルの名前を入力すると、モデルの現在の制約が出力されます。例えば

> lprec  
Model name: 
          COLONE    COLTWO  COLTHREE   COLFOUR          
Minimize         1         3      6.24       0.1          
THISROW          0     78.26         0       2.9  >=  92.3
THATROW       0.24         0     11.31         0  <=  14.8
LASTROW      12.68         0      0.08       0.9  >=     4
Type          Real      Real      Real      Real          
Upper          Inf       Inf       Inf     48.98          
Lower         28.6         0         0        18  

しかし、9 つを超える決定変数を持つモデルを作成すると、完全な要約が得られなくなり、代わりに次のように表示されます。

> lprec
Model name:
    a linear program with 13 decision variables and 258 constraints

決定変数が多数ある場合に、モデルの同じ詳細な要約を表示する方法を知っている人はいますか?

おまけの質問: RStudio は R を操作するのに最適なコンソールですか?

次に例を示します。

>lprec <- make.lp(0,5) 

これにより、0 の制約と 5 つの変数を持つ、lprec と呼ばれる新しいモデルが作成されます。今名前を呼んでも、次のようになります。

>lprec
Model name: 
        C1    C2    C3    C4    C5    
Minimize     0     0     0     0     0    
Kind       Std   Std   Std   Std   Std    
Type      Real  Real  Real  Real  Real    
Upper      Inf   Inf   Inf   Inf   Inf    
Lower        0     0     0     0     0 

C 列は 5 つの変数に対応します。現在、制約はなく、目的関数は 0 です。

で制約を追加できます

>add.constraint(lprec, c(1,3,4,2,-8), "<=", 0)

これは制約 C1 + 3*C2 + 4*C3 + 2*C4 - 8*C5 <= 0 です。出力は次のとおりです。

Model name: 
            C1    C2    C3    C4    C5       
Minimize     0     0     0     0     0       
R1           1     3     4     2    -8  <=  0
Kind       Std   Std   Std   Std   Std       
Type      Real  Real  Real  Real  Real       
Upper      Inf   Inf   Inf   Inf   Inf       
Lower        0     0     0     0     0    

とにかく、ポイントは、制約がいくつあっても、変数が 9 つを超える場合、完全な出力が得られないということです。

>lprec <- make.lp(0,15)
>lprec
Model name:
    a linear program with 15 decision variables and 0 constraints
4

2 に答える 2

5

ファイルに書き出して調べる

を使用して LP を操作するときはlpSolveAPI、それらをファイルに書き出すことを好みます。フォーマットはlp私のニーズに適しています。次に、任意のテキスト エディターを使用して LP モデルを調べます。RStudio の [ファイル] パネルで出力ファイルをクリックすると、出力ファイルも開き、検査できます。

 write.lp(lprec, "lpfilename.lp", "lp") #write it to a file in LP format

必要に応じて、フォーマットとして書き出すこともできMPSます。

のヘルプ ファイルは次のとおりですwrite.lp()

それが役立つことを願っています。

于 2013-07-12T17:31:41.590 に答える