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

Материал из DISCOPAL
Перейти к: навигация, поиск
Строка 2: Строка 2:
 
{{checked|}}
 
{{checked|}}
  
Есть металлургическая фабрика, на которой производятся типизированные ( j = 1 … n), n=50, металлические пруты.
+
Есть металлургическая фабрика, на которой производятся металлические пруты, на складе их ( j = 1 … n), n=50.  
 
+
Каждый прут ''j'' имеет длину LA_j.  
Каждый тип прутка ''j'' имеет длину LA_j.  
+
  
 
{{WikiCutBegin|Типы брусков и сколько их на складе}}
 
{{WikiCutBegin|Типы брусков и сколько их на складе}}
 
<table class=wikitable>
 
<table class=wikitable>
<tr><th colspan="3">Warehousebars</th></tr><tr><th>Id</th><th>Length</th><th>Surplus</th></tr><tr class="odd"><td>1</td><td>3,000</td><td>400</td></tr>
+
<tr><th colspan="2">Warehousebars</th></tr><tr><th>Id</th><th>Length</th></tr><tr class="odd"><td>1</td><td>3,000</td></tr>
<tr><td>2</td><td>3,000</td><td>500</td></tr>
+
<tr><td>2</td><td>3,000</td></tr>
<tr class="odd"><td>3</td><td>3,000</td><td>1,200</td></tr>
+
<tr class="odd"><td>3</td><td>3,000</td></tr>
<tr><td>4</td><td>3,000</td><td>500</td></tr>
+
<tr><td>4</td><td>3,000</td></tr>
<tr class="odd"><td>5</td><td>3,000</td><td>200</td></tr>
+
<tr class="odd"><td>5</td><td>3,000</td></tr>
<tr><td>6</td><td>3,000</td><td>200</td></tr>
+
<tr><td>6</td><td>3,000</td></tr>
<tr class="odd"><td>7</td><td>3,000</td><td>800</td></tr>
+
<tr class="odd"><td>7</td><td>3,000</td></tr>
<tr><td>8</td><td>3,000</td><td>1,200</td></tr>
+
<tr><td>8</td><td>3,000</td></tr>
<tr class="odd"><td>9</td><td>3,000</td><td>500</td></tr>
+
<tr class="odd"><td>9</td><td>3,000</td></tr>
<tr><td>10</td><td>3,000</td><td>300</td></tr>
+
<tr><td>10</td><td>3,000</td></tr>
<tr class="odd"><td>11</td><td>2,500</td><td>500</td></tr>
+
<tr class="odd"><td>11</td><td>2,500</td></tr>
<tr><td>12</td><td>2,500</td><td>1,400</td></tr>
+
<tr><td>12</td><td>2,500</td></tr>
<tr class="odd"><td>13</td><td>2,500</td><td>499</td></tr>
+
<tr class="odd"><td>13</td><td>2,500</td></tr>
<tr><td>14</td><td>2,500</td><td>499</td></tr>
+
<tr><td>14</td><td>2,500</td></tr>
<tr class="odd"><td>15</td><td>2,500</td><td>500</td></tr>
+
<tr class="odd"><td>15</td><td>2,500</td></tr>
<tr><td>16</td><td>2,500</td><td>300</td></tr>
+
<tr><td>16</td><td>2,500</td></tr>
<tr class="odd"><td>17</td><td>2,500</td><td>500</td></tr>
+
<tr class="odd"><td>17</td><td>2,500</td></tr>
<tr><td>18</td><td>2,500</td><td>300</td></tr>
+
<tr><td>18</td><td>2,500</td></tr>
<tr class="odd"><td>19</td><td>2,500</td><td>500</td></tr>
+
<tr class="odd"><td>19</td><td>2,500</td></tr>
<tr><td>20</td><td>2,500</td><td>500</td></tr>
+
<tr><td>20</td><td>2,500</td></tr>
<tr class="odd"><td>21</td><td>2,000</td><td>500</td></tr>
+
<tr class="odd"><td>21</td><td>2,000</td></tr>
<tr><td>22</td><td>2,000</td><td>500</td></tr>
+
<tr><td>22</td><td>2,000</td></tr>
<tr class="odd"><td>23</td><td>2,000</td><td>900</td></tr>
+
<tr class="odd"><td>23</td><td>2,000</td></tr>
<tr><td>24</td><td>2,000</td><td>500</td></tr>
+
<tr><td>24</td><td>2,000</td></tr>
<tr class="odd"><td>25</td><td>2,000</td><td>300</td></tr>
+
<tr class="odd"><td>25</td><td>2,000</td></tr>
<tr><td>26</td><td>2,000</td><td>200</td></tr>
+
<tr><td>26</td><td>2,000</td></tr>
<tr class="odd"><td>27</td><td>2,000</td><td>400</td></tr>
+
<tr class="odd"><td>27</td><td>2,000</td></tr>
<tr><td>28</td><td>2,000</td><td>600</td></tr>
+
<tr><td>28</td><td>2,000</td></tr>
<tr class="odd"><td>29</td><td>2,000</td><td>500</td></tr>
+
<tr class="odd"><td>29</td><td>2,000</td></tr>
<tr><td>30</td><td>2,000</td><td>500</td></tr>
+
<tr><td>30</td><td>2,000</td></tr>
<tr class="odd"><td>31</td><td>1,500</td><td>300</td></tr>
+
<tr class="odd"><td>31</td><td>1,500</td></tr>
<tr><td>32</td><td>1,500</td><td>400</td></tr>
+
<tr><td>32</td><td>1,500</td></tr>
<tr class="odd"><td>33</td><td>1,500</td><td>300</td></tr>
+
<tr class="odd"><td>33</td><td>1,500</td></tr>
<tr><td>34</td><td>1,500</td><td>300</td></tr>
+
<tr><td>34</td><td>1,500</td></tr>
<tr class="odd"><td>35</td><td>1,500</td><td>300</td></tr>
+
<tr class="odd"><td>35</td><td>1,500</td></tr>
<tr><td>36</td><td>1,500</td><td>400</td></tr>
+
<tr><td>36</td><td>1,500</td></tr>
<tr class="odd"><td>37</td><td>1,500</td><td>400</td></tr>
+
<tr class="odd"><td>37</td><td>1,500</td></tr>
<tr><td>38</td><td>1,500</td><td>300</td></tr>
+
<tr><td>38</td><td>1,500</td></tr>
<tr class="odd"><td>39</td><td>1,500</td><td>1,500</td></tr>
+
<tr class="odd"><td>39</td><td>1,500</td></tr>
<tr><td>40</td><td>1,500</td><td>400</td></tr>
+
<tr><td>40</td><td>1,500</td></tr>
<tr class="odd"><td>101</td><td>1,500</td><td>1,500</td></tr>
+
<tr class="odd"><td>101</td><td>1,500</td></tr>
<tr><td>102</td><td>1,500</td><td>499</td></tr>
+
<tr><td>102</td><td>1,500</td></tr>
<tr class="odd"><td>103</td><td>1,500</td><td>300</td></tr>
+
<tr class="odd"><td>103</td><td>1,500</td></tr>
<tr><td>104</td><td>1,500</td><td>300</td></tr>
+
<tr><td>104</td><td>1,500</td></tr>
<tr class="odd"><td>105</td><td>1,500</td><td>400</td></tr>
+
<tr class="odd"><td>105</td><td>1,500</td></tr>
<tr><td>106</td><td>1,500</td><td>800</td></tr>
+
<tr><td>106</td><td>1,500</td></tr>
<tr class="odd"><td>107</td><td>1,500</td><td>400</td></tr>
+
<tr class="odd"><td>107</td><td>1,500</td></tr>
<tr><td>108</td><td>1,500</td><td>500</td></tr>
+
<tr><td>108</td><td>1,500</td></tr>
<tr class="odd"><td>109</td><td>1,500</td><td>1,500</td></tr>
+
<tr class="odd"><td>109</td><td>1,500</td></tr>
<tr><td>110</td><td>1,500</td><td>300</td></tr>
+
<tr><td>110</td><td>1,500</td></tr>
 
</table>
 
</table>
 
{{WikiCutEnd}}
 
{{WikiCutEnd}}
Строка 80: Строка 79:
 
общую длину избыточных кусков менее 2 м, т.е. минимизировать отходы.
 
общую длину избыточных кусков менее 2 м, т.е. минимизировать отходы.
  
Я также мог бы рассмотреть в качестве спецификации запрет на использование кусков размером менее
+
Мы также добавим стоимость C= 200 для каждого используемого складского бруса, чтобы не использовать слишком много складских брусьев.
2 м и как цель минимизировать количество используемых складских брусьев, но я
+
 
я использовал первую цель, потому что у нее было более интересное моделирование. Мы также добавим
+
 
стоимость C для каждого используемого складского бруса, чтобы не использовать слишком много складских брусьев.
+
<!--
 +
рассмотреть вариант
 +
* минимизировать количество используемых складских брусьев
 +
* запрет на использование кусков размером менее 2 м
 +
-->
  
  

Версия 16:51, 20 ноября 2022

Есть металлургическая фабрика, на которой производятся металлические пруты, на складе их ( 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

На рынке не востребованы бруски длиной менее 2 м, поэтому мы хотим минимизировать общую длину избыточных кусков менее 2 м, т.е. минимизировать отходы.

Мы также добавим стоимость C= 200 для каждого используемого складского бруса, чтобы не использовать слишком много складских брусьев.




Не готово, нужно дорабатывать