Как бегло решать задачи на оптимизацию, вручную?Nastya22111 — Текстовая задача (
найти наибольшее количество квартир)
[...]Из строительных деталей двух видов можно собрать три типа домов. Для сборки 12‐квартирного дома необходимо 70 деталей первого и 100 деталей второго типа. Для 16‐квартирного дома требуется 110 и 150, а для дома на 21 квартиру нужно 150 и 200 деталей первого и второго видов соответственно. Всего имеется 900 деталей первого и 1300 деталей второго вида. Сколько и каких домов нужно собрать, чтобы общее количество квартир в них было наибольшим?
Предполагаю, что решение базируется на составлении системы неравенств.
То есть обозначим дома за a, b и с соответственно и получим
1) 70*a+110*b+150*c <= 900
2) 100*a+150*b+200*c <=1300
N=12a+16b+21c, где N - наибольшее число квартир
Но дальше мои размышления заходят в тупик.
Решение:Рассуждаю примитивно и по здравому смыслу. Всё бегло — куда кривая выведет?
70*a+110*b+150*c <= 900
100*a+150*b+200*c <=1300
N=12a+16b+21c —> max
Определяем возможные максимумы по каждому типу домов:
b = 0; c = 0 —> a =< 12 < 900/70 < 1300/100
a = 0; c = 0 —> b =< 8 < 900/110 < 1300/150
a = 0; b = 0 —> c =< 6 = 900/150 < 1300/200
Устанавливаем эквиваленты:
a = 12/8 = 1,5b; b = a/1,5 = 2a/3
a = 12/6 = 2c; c = 0,5a = a/2
Обобщаем максимумы:
12a > 16b = 16 * 2a/3 = 32a/3 —> 36a > 32a
12a > 21c = 21 * a/2 = 21a/2 —> 24a > 21a
16b > 21c = 21 * 6b/8 = 126b/8 —> 128b > 126b
Пробуем:
70*12+110*b+150*c <= 900 —> 110*b+150*c <= 900 – 840 = 60
100*12+150*b+200*c <=1300 —> 150*b+200*c <= 1300 – 1200 = 100
Оптимизируем простым подбором:
70*11+110*b+150*c <= 900 —> 110*b+150*c <= 900 – 770 = 130; 130 – 110 = 40
100*11+150*b+200*c <=1300 —> 150*b+200*c <= 1300 – 1100 = 200; 200 – 150 = 50
Проверяем:
N=12a+16b+21c —> max
N=12*12 + 16*0 +21*0 = 132 + 16 = 144
N=12*11 + 16*1 +21*0 = 132 + 16 = 148
148 > 144
Ответ: 11 домов по 12 квартир и 1 дом по 16 квартир, всего получится 148 квартир — как максимум.