ダイエットの問題を解決するために使用している 135 種類の食品のデータセットがあります: コストを最小化し、栄養価を最大化します。たとえば、ジャガイモを 80 食分、ホウレンソウを 50 食分だけ食べるように指示するモデルではなく、さまざまな食品を含むモデルを作成したいと考えています。次のいずれかを行います。
1)他の変数(食品グループなど)の上限と下限を変更せずに、食品のサービング数に上限を設定します(つまり、各食品の最大10サービング)。
2) モデルに必要な食品 (/変数) の最小数を指定できるようにする
現在、繊維、カロリー、オンスの最小値と最大値を指定することに加えて、モデル内のすべての変数を書き出しています。果物、オンス。野菜など:
minCost <- lp("min", SNAP$costPerServ,
rbind(SNAP$protPerServ, SNAP$protPerServ, SNAP$fatPerServ,
SNAP$fatPerServ, SNAP$costPerServ, SNAP$costPerServ, SNAP$sodiumPerServ,
SNAP$sodiumPerServ, SNAP$fiberPerServ, SNAP$fiberPerServ, SNAP$sugarPerServ,
SNAP$sugarPerServ, SNAP$calsPerServ, SNAP$calsPerServ, SNAP$fruit, SNAP$vegs,
SNAP$grains, SNAP$grains, SNAP$meatProtein, SNAP$dairy, SNAP$X1, SNAP$X2,
SNAP$X3, SNAP$X4, SNAP$X5, SNAP$X6, SNAP$X7, SNAP$X8, SNAP$X9, ... [more foods
here] ..., SNAP$X135),
c(">=", "<=", ">=", "<=", ">=", "<=", ">=", "<=", ">=", "<=", ">=",
"<=", ">=", "<=", ">=", ">=", ">=", "<=", ">=", ">=",
"<=", "<=", "<=", "<=", "<=", "<=", "<=", "<=", "<=",
"<=", ...[more "<="s here]..., "<="),
c(input$prot[1]*7, input$prot[2]*7, input$fat[1]*7, input$fat[2]*7,
input$budget[1], input$budget[2], input$sodium[1]*7, input$sodium[2]*7,
input$fiber[1]*7, input$fiber[2]*7, input$sugar[1]*7, input$sugar[2]*7,
input$cals[1]*7, input$cals[2]*7, 16, 28, 9, 25, 6.4, 24, input$serv,
input$serv, input$serv, input$serv, input$serv, input$serv, input$serv,
input$serv, input$serv, input$serv, ...[more input$servs here]...,
input$serv))
これには光沢のあるパッケージを使用したため、具体的な数値ではなく「input$serv」になっています。ユーザーは、スライダー ウィジェットを使用してサービングの最大数を選択できます。デフォルトは 10 です。
モデルの元になる食品の栄養情報は、別の csv ファイルにあります。
glimpse(SNAP)
観測: 135
変数:
$ food (fctr) コカコーラ、サクラメント トマト ジュース、トロピカーナ Trop50 オレンジ ジュース、V8 ベジ...
$ foodGroup (fctr) 飲料、飲料、飲料、飲料、乳製品、乳製品、乳製品、乳製品、乳製品...
$ calsPerServ (dbl) 140.0, 35.0, 50.0, 50.0, 90.0, 90.0, 102.4, 150.0, 90.0, 90.0, 113.0, 50.0...
$ ozPerServ (dbl) 12.000000, 6.000000, 00,0 8.0 , 2.500000, 4.070000, 8.000000, 8.0...
$ fatPerServ (dbl) 0.00, 0.00, 0.00, 0.00, 5.00, 1.00, 0.24, 8.00, 0.00, 0.00, 9.00, 3.00, 7....
サーブ (d protPer) 0.0、1.0、1.0、2.0、8.0、16.0、7.2、8.0、6.0、3.0、7.0、4.0、2.0、2.0、6.0...
$sodiumPerServ (dbl) 45.00、560.00、10.00、590.00、80.00、360.00、120.80、120.00、100.00、60.00...
$ fiberPerServ (dbl) 0.0、1.0、0.0、2.0、0.0、0.0、0.0、.0. 0.0, 0.0, 0.0, 0.0, 0.0, 1.0,...
$ sugarPerServ (dbl) 39.00, 4.90, 10.00, 8.00, 0.00, 3.00, 11.20, 11.00, 12.00, 14.00, 0.00, 1....
$ costPerServ ( dbl) 0.4800000, 0.2400000, 0.5600000, 0.4737500, 0.1750000, 0.4884000, 0.240000...
$ グレイン (dbl) 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,...
$ oilsFats (dbl) 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,...
$フルーツ (dbl) 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000 、0.00000、0.00000、0....
$ 砂糖 (dbl) 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 , 0, 0,...
$ 肉タンパク質 (dbl) 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 , 0, 0, 0, 0, 0, 0,...
$ bev (整数) 12, 6, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0...
$ vegs (dbl) 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,...
$ 乳製品 (dbl) 0.000000, 0.000000, 0.000000, 0.000000, 2.500000, 4.070000, 8.000000, 8.00...
$ X1 (int) 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 , 0, 0, 0, 0,...
$ X2 (整数) 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 、0、0、0、0、0、0、0、0、...
$ X3 (整数) 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 、0、0、...