Optprob/Производство металлических прутков — различия между версиями
Материал из DISCOPAL
StasFomin (обсуждение | вклад) |
StasFomin (обсуждение | вклад) |
||
Строка 3: | Строка 3: | ||
Есть металлургическая фабрика, на которой производятся металлические пруты, на складе их ( j = 1 … n), n=50. | Есть металлургическая фабрика, на которой производятся металлические пруты, на складе их ( j = 1 … n), n=50. | ||
− | Каждый прут ''j'' имеет длину LA_j. | + | Каждый прут ''j'' имеет длину LA_j (в сантиметрах, запятая там для красоты). |
{{WikiCutBegin|Металлические пруты на складе}} | {{WikiCutBegin|Металлические пруты на складе}} | ||
Строка 76: | Строка 76: | ||
</table> | </table> | ||
− | На рынке не востребованы бруски длиной менее | + | На рынке не востребованы бруски длиной менее 200 см, поэтому мы хотим минимизировать |
общую длину избыточных кусков менее 2 м, т.е. минимизировать отходы. | общую длину избыточных кусков менее 2 м, т.е. минимизировать отходы. | ||
+ | Мы также добавим «стоимость» (размерность в сантиметрах прута) C=200 для каждого используемого складского бруса, чтобы не использовать слишком много складских брусьев. | ||
− | + | Т.е. пусть целевая функция | |
− | + | <math> | |
+ | \sum_j d_j + C \times \alpha_j | ||
+ | </math> | ||
+ | * где d_j — остаток прута j меньше 200см | ||
+ | * \alpha_j — индикатор, что прут j вообще использовали. | ||
<!-- | <!-- | ||
Строка 88: | Строка 93: | ||
--> | --> | ||
− | |||
− | |||
− | |||
− | |||
− | |||
{{enddiv}} | {{enddiv}} | ||
[[Категория:OptimizationProblems]] | [[Категория:OptimizationProblems]] |
Версия 17:04, 20 ноября 2022
Есть металлургическая фабрика, на которой производятся металлические пруты, на складе их ( j = 1 … n), n=50. Каждый прут j имеет длину LA_j (в сантиметрах, запятая там для красоты).
Металлические пруты на складе
Warehousebars | |
---|---|
Id | Length |
1 | 3,000 |
2 | 3,000 |
3 | 3,000 |
4 | 3,000 |
5 | 3,000 |
6 | 3,000 |
7 | 3,000 |
8 | 3,000 |
9 | 3,000 |
10 | 3,000 |
11 | 2,500 |
12 | 2,500 |
13 | 2,500 |
14 | 2,500 |
15 | 2,500 |
16 | 2,500 |
17 | 2,500 |
18 | 2,500 |
19 | 2,500 |
20 | 2,500 |
21 | 2,000 |
22 | 2,000 |
23 | 2,000 |
24 | 2,000 |
25 | 2,000 |
26 | 2,000 |
27 | 2,000 |
28 | 2,000 |
29 | 2,000 |
30 | 2,000 |
31 | 1,500 |
32 | 1,500 |
33 | 1,500 |
34 | 1,500 |
35 | 1,500 |
36 | 1,500 |
37 | 1,500 |
38 | 1,500 |
39 | 1,500 |
40 | 1,500 |
101 | 1,500 |
102 | 1,500 |
103 | 1,500 |
104 | 1,500 |
105 | 1,500 |
106 | 1,500 |
107 | 1,500 |
108 | 1,500 |
109 | 1,500 |
110 | 1,500 |
Получен заказ на набора запрошенных прутков десяти типов (i = 1...m, m=10).
Каждый тип i имеет длину ld_i и количество брусков D_i.
DemandedBars | ||
---|---|---|
Id | Length | Number |
1 | 1,200 | 4 |
2 | 600 | 20 |
3 | 500 | 13 |
4 | 1,500 | 2 |
5 | 2,000 | 5 |
6 | 700 | 5 |
7 | 900 | 5 |
8 | 400 | 5 |
9 | 1,000 | 16 |
10 | 1,100 | 14 |
На рынке не востребованы бруски длиной менее 200 см, поэтому мы хотим минимизировать общую длину избыточных кусков менее 2 м, т.е. минимизировать отходы. Мы также добавим «стоимость» (размерность в сантиметрах прута) C=200 для каждого используемого складского бруса, чтобы не использовать слишком много складских брусьев.
Т.е. пусть целевая функция
- где d_j — остаток прута j меньше 200см
- \alpha_j — индикатор, что прут j вообще использовали.