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

Материал из DISCOPAL
Перейти к: навигация, поиск
(Новая страница: «<!-- p16 --> {{checked|}} Компания имеет два завода, на которых производятся единицы ее продукции.…»)
 
(Массовая правка: замена Категория:OptimizationProblems на {{Cat4Term2|{{FULLPAGENAME}}|OptimizationProblems}})
 
(не показано 11 промежуточных версий этого же участника)
Строка 1: Строка 1:
 
<!-- p16 -->
 
<!-- p16 -->
 
{{checked|}}
 
{{checked|}}
 +
[[File:Производство и распределение_2023-12-23_04-51-11_image0.png|right]]
 +
 
Компания имеет два завода, на которых производятся единицы ее продукции.  
 
Компания имеет два завода, на которых производятся единицы ее продукции.  
  
Строка 27: Строка 29:
 
----
 
----
  
Есть ''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>
Строка 50: Строка 53:
 
<tr><td>20</td><td>700</td></tr>
 
<tr><td>20</td><td>700</td></tr>
 
</table>
 
</table>
 +
{{WikiCutEnd}}
  
 
----
 
----
 
Между потребителями, фабриками и хабами есть расстояния:
 
Между потребителями, фабриками и хабами есть расстояния:
  
;Потребитель-Фабрика:
+
{{WikiCutBegin|Потребитель-Фабрика}}
<table class="wikitable"><tr><th colspan="3">Distance_F_C</th></tr><tr><th>Customer</th><th>Distance</th><th>Factory</th></tr><tr class="odd"><td>1</td><td>500</td><td>1</td></tr>
+
<table class="wikitable">
<tr><td>2</td><td>400</td><td>1</td></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 class="odd"><td>3</td><td>50</td><td>1</td></tr>
+
<tr><td>1</td><td>2</td><td>4,000</td></tr>
<tr><td>4</td><td>100</td><td>1</td></tr>
+
<tr class="odd"><td>1</td><td>3</td><td>50</td></tr>
<tr class="odd"><td>5</td><td>600</td><td>1</td></tr>
+
<tr><td>1</td><td>4</td><td>100</td></tr>
<tr><td>6</td><td>50</td><td>1</td></tr>
+
<tr class="odd"><td>1</td><td>5</td><td>6,000</td></tr>
<tr class="odd"><td>7</td><td>200</td><td>1</td></tr>
+
<tr><td>1</td><td>6</td><td>50</td></tr>
<tr><td>8</td><td>300</td><td>1</td></tr>
+
<tr class="odd"><td>1</td><td>7</td><td>200</td></tr>
<tr class="odd"><td>9</td><td>100</td><td>1</td></tr>
+
<tr><td>1</td><td>8</td><td>3,000</td></tr>
<tr><td>10</td><td>80</td><td>1</td></tr>
+
<tr class="odd"><td>1</td><td>9</td><td>100</td></tr>
<tr class="odd"><td>11</td><td>95</td><td>1</td></tr>
+
<tr><td>1</td><td>10</td><td>80</td></tr>
<tr><td>12</td><td>160</td><td>1</td></tr>
+
<tr class="odd"><td>2</td><td>1</td><td>934</td></tr>
<tr class="odd"><td>13</td><td>180</td><td>1</td></tr>
+
<tr><td>2</td><td>2</td><td>1,420</td></tr>
<tr><td>14</td><td>254</td><td>1</td></tr>
+
<tr class="odd"><td>2</td><td>3</td><td>3,440</td></tr>
<tr class="odd"><td>15</td><td>641</td><td>1</td></tr>
+
<tr><td>2</td><td>4</td><td>8,000</td></tr>
<tr><td>16</td><td>523</td><td>1</td></tr>
+
<tr class="odd"><td>2</td><td>5</td><td>150</td></tr>
<tr class="odd"><td>17</td><td>410</td><td>1</td></tr>
+
<tr><td>2</td><td>6</td><td>120</td></tr>
<tr><td>18</td><td>450</td><td>1</td></tr>
+
<tr class="odd"><td>2</td><td>7</td><td>1,200</td></tr>
<tr class="odd"><td>19</td><td>150</td><td>1</td></tr>
+
<tr><td>2</td><td>8</td><td>140</td></tr>
<tr><td>20</td><td>160</td><td>1</td></tr>
+
<tr class="odd"><td>2</td><td>9</td><td>1,700</td></tr>
<tr class="odd"><td>1</td><td>180</td><td>2</td></tr>
+
<tr><td>2</td><td>10</td><td>70</td></tr>
<tr><td>2</td><td>420</td><td>2</td></tr>
+
<tr class="odd"><td>3</td><td>340</td><td>2</td></tr>
+
<tr><td>4</td><td>390</td><td>2</td></tr>
+
<tr class="odd"><td>5</td><td>150</td><td>2</td></tr>
+
<tr><td>6</td><td>120</td><td>2</td></tr>
+
<tr class="odd"><td>7</td><td>120</td><td>2</td></tr>
+
<tr><td>8</td><td>140</td><td>2</td></tr>
+
<tr class="odd"><td>9</td><td>170</td><td>2</td></tr>
+
<tr><td>10</td><td>70</td><td>2</td></tr>
+
<tr class="odd"><td>11</td><td>60</td><td>2</td></tr>
+
<tr><td>12</td><td>520</td><td>2</td></tr>
+
<tr class="odd"><td>13</td><td>410</td><td>2</td></tr>
+
<tr><td>14</td><td>320</td><td>2</td></tr>
+
<tr class="odd"><td>15</td><td>350</td><td>2</td></tr>
+
<tr><td>16</td><td>310</td><td>2</td></tr>
+
<tr class="odd"><td>17</td><td>370</td><td>2</td></tr>
+
<tr><td>18</td><td>250</td><td>2</td></tr>
+
<tr class="odd"><td>19</td><td>240</td><td>2</td></tr>
+
<tr><td>20</td><td>120</td><td>2</td></tr>
+
 
</table>
 
</table>
 +
 +
{{WikiCutEnd}}
  
 
;Фабрика-Хаб:
 
;Фабрика-Хаб:
Строка 101: Строка 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>350</td><td>2</td></tr>
+
<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>Customer</th><th>Distance</th><th>Hub</th></tr><tr class="odd"><td>1</td><td>50</td><td>1</td></tr>
+
<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>2</td><td>40</td><td>1</td></tr>
+
<tr><td>1</td><td>3</td><td>1,500</td></tr>
<tr class="odd"><td>3</td><td>150</td><td>1</td></tr>
+
<tr class="odd"><td>1</td><td>4</td><td>1,500</td></tr>
<tr><td>4</td><td>150</td><td>1</td></tr>
+
<tr><td>1</td><td>5</td><td>410</td></tr>
<tr class="odd"><td>5</td><td>410</td><td>1</td></tr>
+
<tr class="odd"><td>1</td><td>6</td><td>30</td></tr>
<tr><td>6</td><td>30</td><td>1</td></tr>
+
<tr><td>1</td><td>7</td><td>60</td></tr>
<tr class="odd"><td>7</td><td>60</td><td>1</td></tr>
+
<tr class="odd"><td>1</td><td>8</td><td>250</td></tr>
<tr><td>8</td><td>250</td><td>1</td></tr>
+
<tr><td>1</td><td>9</td><td>150</td></tr>
<tr class="odd"><td>9</td><td>150</td><td>1</td></tr>
+
<tr class="odd"><td>1</td><td>10</td><td>90</td></tr>
<tr><td>10</td><td>90</td><td>1</td></tr>
+
<tr><td>2</td><td>1</td><td>500</td></tr>
<tr class="odd"><td>11</td><td>190</td><td>1</td></tr>
+
<tr class="odd"><td>2</td><td>2</td><td>160</td></tr>
<tr><td>12</td><td>150</td><td>1</td></tr>
+
<tr><td>2</td><td>3</td><td>150</td></tr>
<tr class="odd"><td>13</td><td>180</td><td>1</td></tr>
+
<tr class="odd"><td>2</td><td>4</td><td>390</td></tr>
<tr><td>14</td><td>150</td><td>1</td></tr>
+
<tr><td>2</td><td>5</td><td>200</td></tr>
<tr class="odd"><td>15</td><td>450</td><td>1</td></tr>
+
<tr class="odd"><td>2</td><td>6</td><td>4,000</td></tr>
<tr><td>16</td><td>500</td><td>1</td></tr>
+
<tr><td>2</td><td>7</td><td>50</td></tr>
<tr class="odd"><td>17</td><td>200</td><td>1</td></tr>
+
<tr class="odd"><td>2</td><td>8</td><td>60</td></tr>
<tr><td>18</td><td>150</td><td>1</td></tr>
+
<tr><td>2</td><td>9</td><td>40</td></tr>
<tr class="odd"><td>19</td><td>150</td><td>1</td></tr>
+
<tr class="odd"><td>2</td><td>10</td><td>834</td></tr>
<tr><td>20</td><td>95</td><td>1</td></tr>
+
<tr class="odd"><td>1</td><td>190</td><td>2</td></tr>
+
<tr><td>2</td><td>160</td><td>2</td></tr>
+
<tr class="odd"><td>3</td><td>150</td><td>2</td></tr>
+
<tr><td>4</td><td>390</td><td>2</td></tr>
+
<tr class="odd"><td>5</td><td>200</td><td>2</td></tr>
+
<tr><td>6</td><td>210</td><td>2</td></tr>
+
<tr class="odd"><td>7</td><td>50</td><td>2</td></tr>
+
<tr><td>8</td><td>60</td><td>2</td></tr>
+
<tr class="odd"><td>9</td><td>40</td><td>2</td></tr>
+
<tr><td>10</td><td>70</td><td>2</td></tr>
+
<tr class="odd"><td>11</td><td>60</td><td>2</td></tr>
+
<tr><td>12</td><td>150</td><td>2</td></tr>
+
<tr class="odd"><td>13</td><td>350</td><td>2</td></tr>
+
<tr><td>14</td><td>320</td><td>2</td></tr>
+
<tr class="odd"><td>15</td><td>350</td><td>2</td></tr>
+
<tr><td>16</td><td>310</td><td>2</td></tr>
+
<tr class="odd"><td>17</td><td>370</td><td>2</td></tr>
+
<tr><td>18</td><td>250</td><td>2</td></tr>
+
<tr class="odd"><td>19</td><td>240</td><td>2</td></tr>
+
<tr><td>20</td><td>120</td><td>2</td></tr>
+
 
</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>
Строка 158: Строка 124:
 
Поставлять продукты потребителям можно и с завода, и любого хаба, можно перемещать продукты между хабами,
 
Поставлять продукты потребителям можно и с завода, и любого хаба, можно перемещать продукты между хабами,
 
в любом случае, вне зависимости от расстояния «поставка» происходит на следующий день (будем считать, что основные затраты времени процессные, а не от перевозки).
 
в любом случае, вне зависимости от расстояния «поставка» происходит на следующий день (будем считать, что основные затраты времени процессные, а не от перевозки).
 +
 +
[[File:Производство и распределение_2022-11-17_15-17-39_image0.png||800px]]
  
 
Надо смоделировать производство и перемещение продуктов между заводом-хабами-потребителями, чтобы минимизировать  
 
Надо смоделировать производство и перемещение продуктов между заводом-хабами-потребителями, чтобы минимизировать  
суммарное за неделю общее расстояние всех перевозок (количество продуктов не важно, условная фура вмещает все эти мелкие продукты).
+
''суммарное за неделю общее расстояние всех перевозок'' (количество продуктов не важно, условная фура вмещает все эти мелкие продукты).
 +
 
 
{{enddiv}}
 
{{enddiv}}
  
[[Категория:OptimizationProblems]]
+
{{Cat4Term2|{{FULLPAGENAME}}|OptimizationProblems}}

Текущая версия на 11:59, 23 декабря 2023

Производство и распределение 2023-12-23 04-51-11 image0.png

Компания имеет два завода, на которых производятся единицы ее продукции.

Каждый завод i имеет

  • ежедневную производственную мощность K(i) единиц продукции
  • небольшой склад, емкостью FA(i)
Factories
IdFAK
120,0005,000
225,0003,500

Предположим, что для производства требуется L=5 рабочих дней в неделю.


Еще у компании есть два склада-хаба, откуда произведенная продукция рассылается потребителям. У каждого склада j есть

  • Вместимость Aj
  • Способность ежедневной отгрузки Ej
Hubs
IdAjEj
110,0005,000
250,0004,000



Есть


Между потребителями, фабриками и хабами есть расстояния:

Фабрика-Хаб
Distance_F_H
HubDistanceFactory
11501
24001
135002
21002


хаб-хаб
Distance_H_H
Hub2DistanceHub1
25001
15002

Поставлять продукты потребителям можно и с завода, и любого хаба, можно перемещать продукты между хабами, в любом случае, вне зависимости от расстояния «поставка» происходит на следующий день (будем считать, что основные затраты времени процессные, а не от перевозки).

Производство и распределение 2022-11-17 15-17-39 image0.png

Надо смоделировать производство и перемещение продуктов между заводом-хабами-потребителями, чтобы минимизировать суммарное за неделю общее расстояние всех перевозок (количество продуктов не важно, условная фура вмещает все эти мелкие продукты).