私はこの最適化問題を持っていますが、列Xの一意の値に基づいて列zを最大化しようとしていますが、Xの一意の値のそれぞれがYの列を最大に加算したこのようになりますLpSolveを使用してRで線形計画最適化を設定しますか?
d=data.frame(x=c(1,1,1,2,2,2,3,3,3),y=c(9,7,5,9,7,5,9,7,5),z=c(25,20,5,20,10,5,10,5,3))
:例)例えば23
、私はこのサンプルデータを持っている
X Y Z
1 1 9 25
2 1 7 20
3 1 5 5
4 2 9 20
5 2 7 10
6 2 5 5
7 3 9 10
8 3 7 5
9 3 5 5
結果は次のようになります。
X Y Z
1 1 9 25
4 2 9 20
9 3 5 5
この問題をlpSolve :: lp関数で設定するにはどうすればよいですか?
あなたは、制約の2種類の対象に選択したオプションのz値の総和を最大化しようとしている
何を試しましたか?あなたは既にLP対IPを考えましたか? – sascha
本質的に私はソルバーを使ってExcelでこれをやっており、それをRに移動しようとしています。私はあなたがLPやIP(彼らが意味するもの)をかなり追っているわけではありません。私はこれを移動する方法を示すスタック内の他の例を見つけましたが、ピック制約の合計を使用する方法は含まれていませんでした。 – CooperBuckeye05
あなたは(おそらく)純粋なリニアプログラムとしてそれを解決することはできません。混合整数プログラミング(これはlpsolveでサポートされています)が必要です。使用したいラッパーのドキュメントを読んで、必要な標準形式をチェックし、あなた自身で何かを試してください。 * picking *の性質は、バイナリ変数として定式化されます.x0が選択された場合、x0 = 1です。 3つのx候補のうちの1つだけを選ぶことは、x0 + x1 + x2 <= 1 (and > = 1である。 – sascha