Предмет: Информатика,
автор: NiceMary7091
При производстве двух видов изделий (А и В) предприятие использует 4 вида ресурсов. Нормы расхода ресурсов на производство единицы продукции, объем ресурсов, а также прибыль от реализации единицы продукции приведены в таблице.
Определить оптимальный план производства продукции, обеспечивающий предприятию максимальную прибыль.
ВИД РЕСУРСА_ | А__|_В__| Объем ресурса
Р1____________| 2__|_ 3__| 20
Р2____________| 3__|_ 1__| 15
Р3____________| 4__|_ 0__| 16
Р4____________| 0__|_ 3__| 12
Прибыль_______| 5__|_3__|
Ответы
Автор ответа:
1
Если считать вручную.
Сначала найдем сколько при таком колве ресурсов можно максимум создать изделий
max A = min(20/2,15/3,16/4) = min(10,5,4) = 4
max B = min(20/3,15/1,12/3) = min(6.6,15,4) = 4
Впринцепе выгоднее выпустить максимум изделия А и на остальные ресурсы В
Это получится 4А+3В = 29уе
На всякий случай проверим и другие варианты.
0A + 4B = 12y.e.
1A + 4B = 17y.e.
2A + 4B = 22y.e.
3A + 4B = 27y.e.
4A + 3B = 29y.e.
Расчеты проводились кодом на Руби
Pa = [2,3,4,0]
Pb = [3,1,0,3]
CostA=5
CostB=3
for i in 0..4
a=0
b=0
praw = [20,15,16,12]
f = true
while a < i and f do
(0...praw.size).step(1) { |j| f = false if praw[j] - Pa[j] < 0}
break if not f
(0...praw.size).step(1) { |j| praw[j] -= Pa[j]}
a += 1
end
f = true
while f do
(0...praw.size).step(1) { |j| f = false if praw[j] - Pb[j] < 0}
break if not f
(0...praw.size).step(1) { |j| praw[j] -= Pb[j]}
b += 1
end
puts "#{a}A + #{b}B = #{CostA*a + CostB*b}y.e."
end
Ответ 4A + 3B = 29y.e.
Сначала найдем сколько при таком колве ресурсов можно максимум создать изделий
max A = min(20/2,15/3,16/4) = min(10,5,4) = 4
max B = min(20/3,15/1,12/3) = min(6.6,15,4) = 4
Впринцепе выгоднее выпустить максимум изделия А и на остальные ресурсы В
Это получится 4А+3В = 29уе
На всякий случай проверим и другие варианты.
0A + 4B = 12y.e.
1A + 4B = 17y.e.
2A + 4B = 22y.e.
3A + 4B = 27y.e.
4A + 3B = 29y.e.
Расчеты проводились кодом на Руби
Pa = [2,3,4,0]
Pb = [3,1,0,3]
CostA=5
CostB=3
for i in 0..4
a=0
b=0
praw = [20,15,16,12]
f = true
while a < i and f do
(0...praw.size).step(1) { |j| f = false if praw[j] - Pa[j] < 0}
break if not f
(0...praw.size).step(1) { |j| praw[j] -= Pa[j]}
a += 1
end
f = true
while f do
(0...praw.size).step(1) { |j| f = false if praw[j] - Pb[j] < 0}
break if not f
(0...praw.size).step(1) { |j| praw[j] -= Pb[j]}
b += 1
end
puts "#{a}A + #{b}B = #{CostA*a + CostB*b}y.e."
end
Ответ 4A + 3B = 29y.e.
Похожие вопросы
Предмет: Другие предметы,
автор: romanuch229
Предмет: Литература,
автор: v060512av
Предмет: Литература,
автор: valeriastetsyk2008
Предмет: Английский язык,
автор: sjjsudjxisisisj
Предмет: Английский язык,
автор: Asta0512