I need some help on this optimization problem.

4 ビュー (過去 30 日間)
Dhaval Lodaya
Dhaval Lodaya 2016 年 2 月 8 日
コメント済み: Torsten 2016 年 2 月 8 日
There are two arrays: I4_FE=[0.5 1.3 2.3 2.3 1.5 2 2.3 4.8 2.3 2 2.3 3.5 25 10 2 1 0.3 4 2.5 1.5 2 1 5.5 7.5 3.5 3 34 37 35 0.3 1.4 3.3 6.5 12 2 1 1.5]; I4_cost=[4 42 35 145 35 35 145 182 35 145 156 430 2393 520 95 80 35 160 133 174 235 425 281 19 193 500 2200 3385 6500 10000 41 85 239 572 1650 35 45];
Array I4_cost indicates cost and this needs to be minimized. Total of 'x' value or 'greater than x' value should be achieved from I4_FE array with minimum cost possible. For example: Each value in I4_FE indicates Fuel economy improvement and corresponding cost associated with implementing that technology is in arrayI4_cost. Now if I want Fuel economy to increase by value of >=10, I need to find out solution with minimum possible cost. This should also give index of array I4_FE or I4_cost used so that I can track down on technologies suggested.
How do I go about optimizing this problem?
Thanks

採用された回答

Torsten
Torsten 2016 年 2 月 8 日
min: I4_cost*d
s.c. I4_FE*d >= 10
d binary (0 or 1)
To determine d, use
Best wishes
Torsten.
  1 件のコメント
Torsten
Torsten 2016 年 2 月 8 日
You may want to search for "minimum knapsack problem".
Best wishes
Torsten.

サインインしてコメントする。

その他の回答 (1 件)

Torsten
Torsten 2016 年 2 月 8 日
min(I4_cost(I4_FE>=10));
Best wishes
Torsten.
  1 件のコメント
Dhaval Lodaya
Dhaval Lodaya 2016 年 2 月 8 日
Torsten, This will give me minimum cost for any value greater than or equal to 10 in I4_FE. But if I take multiple values from I4_FE such as 0.5, 1, 1.5 which goes on to add to 10, the cost associated with this can be lesser than the value obtained from min(I4_cost(I4_FE>=10));
Thus I need to add set of values from I4_FE which results in optimum cost and meets the constraint as well.

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeLinear Least Squares についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by