Optprob/Производство и распределение — различия между версиями
StasFomin (обсуждение | вклад) |
StasFomin (обсуждение | вклад) (Массовая правка: замена Категория:OptimizationProblems на {{Cat4Term2|{{FULLPAGENAME}}|OptimizationProblems}}) |
||
(не показано 9 промежуточных версий этого же участника) | |||
Строка 1: | Строка 1: | ||
<!-- p16 --> | <!-- p16 --> | ||
{{checked|}} | {{checked|}} | ||
+ | [[File:Производство и распределение_2023-12-23_04-51-11_image0.png|right]] | ||
+ | |||
Компания имеет два завода, на которых производятся единицы ее продукции. | Компания имеет два завода, на которых производятся единицы ее продукции. | ||
Строка 29: | Строка 31: | ||
Есть | Есть | ||
− | {{WikiCutBegin|''n'' | + | {{WikiCutBegin|''n'' потребителей с их еженедельными запросами этих продуктов}} |
<table class="wikitable"><tr><th colspan="2">Потребитель</th></tr><tr><th>Id</th><th>Запросы</th></tr><tr class="odd"><td>1</td><td>1,500</td></tr> | <table class="wikitable"><tr><th colspan="2">Потребитель</th></tr><tr><th>Id</th><th>Запросы</th></tr><tr class="odd"><td>1</td><td>1,500</td></tr> | ||
<tr><td>2</td><td>2,500</td></tr> | <tr><td>2</td><td>2,500</td></tr> | ||
Строка 56: | Строка 58: | ||
Между потребителями, фабриками и хабами есть расстояния: | Между потребителями, фабриками и хабами есть расстояния: | ||
− | + | {{WikiCutBegin|Потребитель-Фабрика}} | |
− | <table class="wikitable"><tr><th colspan="3">Distance_F_C</th></tr><tr><th> | + | <table class="wikitable"> |
− | <tr | + | <tr><th colspan="3">Distance_F_C</th></tr><tr><th>Factory</th><th>Customer</th><th>Distance</th></tr><tr class="odd"><td>1</td><td>1</td><td>1,500</td></tr> |
− | + | <tr><td>1</td><td>2</td><td>4,000</td></tr> | |
− | + | <tr class="odd"><td>1</td><td>3</td><td>50</td></tr> | |
− | <tr class="odd" | + | <tr><td>1</td><td>4</td><td>100</td></tr> |
− | + | <tr class="odd"><td>1</td><td>5</td><td>6,000</td></tr> | |
− | <tr | + | <tr><td>1</td><td>6</td><td>50</td></tr> |
− | + | <tr class="odd"><td>1</td><td>7</td><td>200</td></tr> | |
− | <tr class="odd"><td> | + | <tr><td>1</td><td>8</td><td>3,000</td></tr> |
− | <tr><td> | + | <tr class="odd"><td>1</td><td>9</td><td>100</td></tr> |
− | <tr class="odd" | + | <tr><td>1</td><td>10</td><td>80</td></tr> |
− | + | <tr class="odd"><td>2</td><td>1</td><td>934</td></tr> | |
− | <tr | + | <tr><td>2</td><td>2</td><td>1,420</td></tr> |
− | + | <tr class="odd"><td>2</td><td>3</td><td>3,440</td></tr> | |
− | <tr class="odd" | + | <tr><td>2</td><td>4</td><td>8,000</td></tr> |
− | + | <tr class="odd"><td>2</td><td>5</td><td>150</td></tr> | |
− | <tr | + | <tr><td>2</td><td>6</td><td>120</td></tr> |
− | + | <tr class="odd"><td>2</td><td>7</td><td>1,200</td></tr> | |
− | <tr class="odd"><td> | + | <tr><td>2</td><td>8</td><td>140</td></tr> |
− | + | <tr class="odd"><td>2</td><td>9</td><td>1,700</td></tr> | |
− | <tr | + | <tr><td>2</td><td>10</td><td>70</td></tr> |
− | + | ||
− | <tr class="odd" | + | |
− | + | ||
− | <tr | + | |
− | + | ||
− | + | ||
− | + | ||
− | <tr class="odd" | + | |
− | + | ||
− | <tr | + | |
− | + | ||
− | <tr class="odd" | + | |
− | + | ||
− | <tr | + | |
− | + | ||
− | <tr class="odd" | + | |
− | + | ||
− | <tr | + | |
− | + | ||
</table> | </table> | ||
+ | |||
+ | {{WikiCutEnd}} | ||
;Фабрика-Хаб: | ;Фабрика-Хаб: | ||
Строка 103: | Строка 88: | ||
<table class="wikitable"><tr><th colspan="3">Distance_F_H</th></tr><tr><th>Hub</th><th>Distance</th><th>Factory</th></tr><tr class="odd"><td>1</td><td>150</td><td>1</td></tr> | <table class="wikitable"><tr><th colspan="3">Distance_F_H</th></tr><tr><th>Hub</th><th>Distance</th><th>Factory</th></tr><tr class="odd"><td>1</td><td>150</td><td>1</td></tr> | ||
<tr><td>2</td><td>400</td><td>1</td></tr> | <tr><td>2</td><td>400</td><td>1</td></tr> | ||
− | <tr class="odd"><td>1</td><td> | + | <tr class="odd"><td>1</td><td>3500</td><td>2</td></tr> |
<tr><td>2</td><td>100</td><td>2</td></tr> | <tr><td>2</td><td>100</td><td>2</td></tr> | ||
</table> | </table> | ||
− | + | {{WikiCutBegin|Хаб-Потребитель}} | |
− | + | <table class="wikitable"> | |
− | <table class="wikitable"><tr><th colspan="3">Distance_H_C</th></tr><tr><th> | + | <tr><th colspan="3">Distance_H_C</th></tr><tr><th>Hub</th><th>Customer</th><th>Distance</th></tr><tr class="odd"><td>1</td><td>2</td><td>400</td></tr> |
− | <tr><td> | + | <tr><td>1</td><td>3</td><td>1,500</td></tr> |
− | <tr class="odd"><td> | + | <tr class="odd"><td>1</td><td>4</td><td>1,500</td></tr> |
− | <tr><td> | + | <tr><td>1</td><td>5</td><td>410</td></tr> |
− | <tr class="odd" | + | <tr class="odd"><td>1</td><td>6</td><td>30</td></tr> |
− | + | <tr><td>1</td><td>7</td><td>60</td></tr> | |
− | <tr | + | <tr class="odd"><td>1</td><td>8</td><td>250</td></tr> |
− | + | <tr><td>1</td><td>9</td><td>150</td></tr> | |
− | <tr class="odd" | + | <tr class="odd"><td>1</td><td>10</td><td>90</td></tr> |
− | + | <tr><td>2</td><td>1</td><td>500</td></tr> | |
− | <tr | + | <tr class="odd"><td>2</td><td>2</td><td>160</td></tr> |
− | + | <tr><td>2</td><td>3</td><td>150</td></tr> | |
− | <tr class="odd" | + | <tr class="odd"><td>2</td><td>4</td><td>390</td></tr> |
− | + | <tr><td>2</td><td>5</td><td>200</td></tr> | |
− | <tr | + | <tr class="odd"><td>2</td><td>6</td><td>4,000</td></tr> |
− | + | <tr><td>2</td><td>7</td><td>50</td></tr> | |
− | <tr class="odd" | + | <tr class="odd"><td>2</td><td>8</td><td>60</td></tr> |
− | + | <tr><td>2</td><td>9</td><td>40</td></tr> | |
− | + | <tr class="odd"><td>2</td><td>10</td><td>834</td></tr> | |
− | + | ||
− | + | ||
− | + | ||
− | <tr | + | |
− | + | ||
− | <tr class="odd" | + | |
− | + | ||
− | <tr | + | |
− | + | ||
− | <tr class="odd" | + | |
− | + | ||
− | <tr | + | |
− | + | ||
− | <tr class="odd" | + | |
− | + | ||
− | <tr | + | |
− | + | ||
− | <tr class="odd" | + | |
− | + | ||
− | + | ||
− | + | ||
</table> | </table> | ||
+ | {{WikiCutEnd}} | ||
;хаб-хаб: | ;хаб-хаб: | ||
− | |||
<table class="wikitable"><tr><th colspan="3">Distance_H_H</th></tr><tr><th>Hub2</th><th>Distance</th><th>Hub1</th></tr><tr class="odd"><td>2</td><td>500</td><td>1</td></tr> | <table class="wikitable"><tr><th colspan="3">Distance_H_H</th></tr><tr><th>Hub2</th><th>Distance</th><th>Hub1</th></tr><tr class="odd"><td>2</td><td>500</td><td>1</td></tr> | ||
<tr><td>1</td><td>500</td><td>2</td></tr> | <tr><td>1</td><td>500</td><td>2</td></tr> | ||
Строка 164: | Строка 128: | ||
Надо смоделировать производство и перемещение продуктов между заводом-хабами-потребителями, чтобы минимизировать | Надо смоделировать производство и перемещение продуктов между заводом-хабами-потребителями, чтобы минимизировать | ||
− | суммарное за неделю общее расстояние всех перевозок (количество продуктов не важно, условная фура вмещает все эти мелкие продукты). | + | ''суммарное за неделю общее расстояние всех перевозок'' (количество продуктов не важно, условная фура вмещает все эти мелкие продукты). |
+ | |||
{{enddiv}} | {{enddiv}} | ||
− | + | {{Cat4Term2|{{FULLPAGENAME}}|OptimizationProblems}} |
Текущая версия на 11:59, 23 декабря 2023
Компания имеет два завода, на которых производятся единицы ее продукции.
Каждый завод i имеет
- ежедневную производственную мощность K(i) единиц продукции
- небольшой склад, емкостью FA(i)
Factories | ||
---|---|---|
Id | FA | K |
1 | 20,000 | 5,000 |
2 | 25,000 | 3,500 |
Предположим, что для производства требуется L=5 рабочих дней в неделю.
Еще у компании есть два склада-хаба, откуда произведенная продукция рассылается потребителям. У каждого склада j есть
- Вместимость Aj
- Способность ежедневной отгрузки Ej
Hubs | ||
---|---|---|
Id | Aj | Ej |
1 | 10,000 | 5,000 |
2 | 50,000 | 4,000 |
Есть
Потребитель | |
---|---|
Id | Запросы |
1 | 1,500 |
2 | 2,500 |
3 | 5,000 |
4 | 4,000 |
5 | 3,000 |
6 | 4,000 |
7 | 8,000 |
8 | 6,500 |
9 | 4,500 |
10 | 900 |
11 | 500 |
12 | 1,600 |
13 | 1,700 |
14 | 1,900 |
15 | 5,200 |
16 | 6,700 |
17 | 6,900 |
18 | 1,500 |
19 | 1,600 |
20 | 700 |
Между потребителями, фабриками и хабами есть расстояния:
Distance_F_C | ||
---|---|---|
Factory | Customer | Distance |
1 | 1 | 1,500 |
1 | 2 | 4,000 |
1 | 3 | 50 |
1 | 4 | 100 |
1 | 5 | 6,000 |
1 | 6 | 50 |
1 | 7 | 200 |
1 | 8 | 3,000 |
1 | 9 | 100 |
1 | 10 | 80 |
2 | 1 | 934 |
2 | 2 | 1,420 |
2 | 3 | 3,440 |
2 | 4 | 8,000 |
2 | 5 | 150 |
2 | 6 | 120 |
2 | 7 | 1,200 |
2 | 8 | 140 |
2 | 9 | 1,700 |
2 | 10 | 70 |
- Фабрика-Хаб
Distance_F_H | ||
---|---|---|
Hub | Distance | Factory |
1 | 150 | 1 |
2 | 400 | 1 |
1 | 3500 | 2 |
2 | 100 | 2 |
Distance_H_C | ||
---|---|---|
Hub | Customer | Distance |
1 | 2 | 400 |
1 | 3 | 1,500 |
1 | 4 | 1,500 |
1 | 5 | 410 |
1 | 6 | 30 |
1 | 7 | 60 |
1 | 8 | 250 |
1 | 9 | 150 |
1 | 10 | 90 |
2 | 1 | 500 |
2 | 2 | 160 |
2 | 3 | 150 |
2 | 4 | 390 |
2 | 5 | 200 |
2 | 6 | 4,000 |
2 | 7 | 50 |
2 | 8 | 60 |
2 | 9 | 40 |
2 | 10 | 834 |
- хаб-хаб
Distance_H_H | ||
---|---|---|
Hub2 | Distance | Hub1 |
2 | 500 | 1 |
1 | 500 | 2 |
Поставлять продукты потребителям можно и с завода, и любого хаба, можно перемещать продукты между хабами, в любом случае, вне зависимости от расстояния «поставка» происходит на следующий день (будем считать, что основные затраты времени процессные, а не от перевозки).
Надо смоделировать производство и перемещение продуктов между заводом-хабами-потребителями, чтобы минимизировать суммарное за неделю общее расстояние всех перевозок (количество продуктов не важно, условная фура вмещает все эти мелкие продукты).