Optprob/Производство металлических прутков — различия между версиями

Материал из DISCOPAL
Перейти к: навигация, поиск
Строка 92: Строка 92:
  
 
{{enddiv}}
 
{{enddiv}}
 
{{checkme| https://discopal-lab.0x1.tv/projects/3b41be68-a970-4f60-9138-1aa73f8ee1fa/files/advalg-2022-homeworks/Robohant/rod_manufacturing.ipynb}}
 
  
 
[[Категория:OptimizationProblems]]
 
[[Категория:OptimizationProblems]]

Версия 17:08, 21 декабря 2022

Задача зарезервирована: Участник:Robohant

Есть металлургическая фабрика, на которой производятся металлические пруты, на складе их ( j = 1 … n), n=50. Каждый прут j имеет длину LA_j (в сантиметрах, запятая там для красоты).


Получен заказ на набора запрошенных прутков десяти типов (i = 1...m, m=10). Каждый тип i имеет длину ld_i и количество брусков D_i.

DemandedBars
IdLengthNumber
11,2004
260020
350013
41,5002
52,0005
67005
79005
84005
91,00016
101,10014

На рынке не востребованы бруски длиной менее 200 см, поэтому мы хотим минимизировать общую длину избыточных кусков менее 2 м, т.е. минимизировать отходы. Мы также добавим «стоимость» (размерность в сантиметрах прута) C=200 для каждого используемого складского бруса, чтобы не использовать слишком много складских брусьев.

Т.е. пусть целевая функция

  • где d_j — остаток прута j меньше 200см
  • — индикатор, что прут j вообще использовали.

рассмотреть вариант

  • минимизировать количество используемых складских брусьев
  • запрет на использование кусков размером менее 2 м