Математические методы исследования в экономике
Задача 1.2
Цех хлебозавода по производству муки
заключил контракт с мини-пекарней о поставке ежедневно 300 кг ржаной и
пшеничной муки, причем пшеничной - не менее 50%. Зерно, поступающее в цех,
проходит в нем обмолот, помол и упаковку муки. Трудозатраты (в человеко-часах)
на указанные операции представлены в таблице:
Операция
|
Ржаная мука
|
Пшеничная мука
|
Имеющийся ресурс
|
Обмолот
|
0,1
|
0,1
|
30
|
Помол
|
0,1
|
0,08
|
27
|
Упаковка
|
0,05
|
0,05
|
200
|
Себестоимость одного килограмма
ржаной муки составляет 14 рублей, а пшеничной - 18 рублей.
Требуется найти оптимальный план
производства продукции, позволяющий цеху выполнить условия контракта с
наименьшими затратами.
Решение.
Пусть x1 - объем производства ржаной муки, x2 - объем производства пшеничной муки. Тогда задача может быть
описана в виде следующей модели линейного программирования:
Заполним данные в среде Microsoft Excel
Добавим в таблицу еще одну строку
(например, строку 9 План), в которую будут вноситься получаемые в ходе решения
результаты. Объем производства ржаной муки будем предполагать получить в ячейке
В9, пшеничной муки - в ячейке С9, а затраты на себестоимость - в ячейке D7.
Для решения задачи необходимо также
выделить столбец (в данном примере - столбец D), в который будут введены формулы для расчета значений левой
части ограничений. Формула вводится также и в ячейку, в которой будет рассчитаны
затраты на себестоимость предприятия (ячейка D7). Нужно обратить внимание на то, что в формулах
используются не числа или символьные обозначения, а координаты ячеек таблицы, в
которых хранятся эти числа и переменные.
D3= СУММПРОИЗВ(B3:C3;$B$9:$C$9)
D4= СУММПРОИЗВ(B4:C4;$B$9:$C$9)
D5= СУММПРОИЗВ(B5:C5;$B$9:$C$9)
D7= СУММПРОИЗВ(B7:C7;$B$9:$C$9)
D9=B9+C9
Для запуска процедуры оптимизации в
меню Сервис необходимо выбрать пункт Поиск решения. В поле Установить целевую
ячейку вводятся координаты ячейки (D7), которую необходимо минимизировать.
В поле Изменяя ячейки вводятся
координаты ячеек (разделенные запятыми или объединенные в интервал двоеточием),
в которых содержатся значения переменных - объемов производства ржаной и
пшеничной муки. Изменяемые ячейки должны быть прямо или косвенно связаны с
целевой ячейкой. В поле Ограничения необходимо ввести все граничные условия
задачи:
При этом ограничения на
неотрицательность переменных можно ввести путем установки флажка
Неотрицательные значения в окне Параметры. В случае, если решаемая задача
является задачей линейного программирования, лучше отметить это в окне
Параметры соответствующим флажком:
Запуск процесса оптимизации
производится нажатием кнопки Выполнить. По окончании счета появляется
диалоговое окно Результаты поиска решения. Нажав в нем соответствующую кнопку,
можно сохранить найденное решение или восстановить исходные значения. Изменения
при этом коснутся как целевой ячейки, так и влияющих ячеек. В этом же
диалоговом окне можно указать необходимые типы отчетов, которые будут размещены
на отдельных листах книги.
Отчет Результаты отражает исходные и
результирующие значения целевой и влияющих ячеек, а также сведения о наложенных
ограничениях.
Таким образом предприятию необходимо
выпустить 150 кг ржаной муки и 150 кг пшеничной муки, тогда минимальная
себестоимость выпуска составит 4800 человеко-часов, при этом ресурсы на обмолот
и помол будут использованы полностью, а ресурсы на упаковку останутся в избытке
в количестве 185 человеко-часов.
Задача 2.2
Руководство птицефабрики имеет
возможность закупать корма трех видов. Из этих кормов птицы должны получать
питательные вещества (П1, П2, П3 и П4), требуемое количество которых и
содержание в кормах (в ед.) приведены в таблице:
Питательные
вещества
|
Корма
|
Нормы потребления
|
К1
|
К2
|
К3
|
П1
|
3
|
5
|
0
|
равно 16
|
П2
|
2
|
2
|
4
|
не менее 24
|
П3
|
8
|
1
|
2
|
не менее 25
|
П4
|
4
|
3
|
не менее 33, но не более 40
|
Цены за 1 т кормов составляют
соответственно 1000, 900 и 800 рублей.
Какие корма и в каком количестве
следует закупать, чтобы затраты птицефабрики оказались минимальными?
Решение.
Решение: обозначим за x1 количество корма К1, за x2 - количество корма К2, за x3 - количество корма К3. Тогда:
Подготовим в Microsoft Excel таблицу для решения задачи:
Поскольку Microsoft Excel позволяет путем установки соответствующего флажка
автоматически определять неотрицательность переменных, добавление ограничений
на неотрицательность в модель при решении задачи в Microsoft Excel не является обязательным.
Введем в таблицу формулы для расчета
левых частей ограничений и целевой ячейки:
Е4=
СУММПРОИЗВ(B4:D4;$B$12:$D$12)
Е5=СУММПРОИЗВ(B5:D5;$B$12:$D$12)
Е6=СУММПРОИЗВ(B6:D6;$B$12:$D$12)
Е7=СУММПРОИЗВ(B7:D7;$B$12:$D$12)
Е8=СУММПРОИЗВ(B8:D8;$B$12:$D$12)
Целевая ячейка
Е10=СУММПРОИЗВ(B10:D10;$B$12:$D$12)
Ограничения запишутся так
Запустим модуль Поиск решения и
произведем расчеты
В ходе расчетов получим следующие
результаты: оптимальный рацион должен содержать 3,125 ед. корма К1, 4,6875 ед.
корма К2 и 0,1875 корма К3. При этом стоимость рациона будет составлять 7493,75
руб.
Задача 3.1
Один из цехов фабрики по пошиву
изделий из кожи раскраивает поступающие заготовки для получения 5 видов деталей
одним из трех возможных способов. Из одной заготовки получают:
Способ раскроя
|
Детали
|
A
|
B
|
C
|
D
|
E
|
I
|
10
|
5
|
3
|
7
|
2
|
II
|
6
|
8
|
4
|
5
|
2
|
III
|
4
|
7
|
5
|
3
|
4
|
Требуется получить не менее 48
деталей вида А, не менее 32 деталей вида В, не менее 45 деталей вида С, не
менее 17 деталей вида D и не
менее 24 деталей вида Е.
Какое минимальное количество
заготовок нужно раскроить?
Решение.
Обозначим за x1 количество заготовок, разрезаемых по способу 1, за x2 - количество заготовок, разрезаемых по способу 2 и
т.д.Используя модель линейного программирования с минимизацией расхода
материала, получим:
Подготовим таблицу в Microsoft Excel,
содержащую исходные данные задачи, введем формулы для расчета целевой функции и
левой части ограничений, заполним форму модуля Поиск решения:
Решение
Таким образом, необходимо
раскроить 1 заготовку способом I, 1
заготовку способом II, 8 заготовок
способом III.
Задача 4.2
Гражданин О. Бендер хочет приобрести
некий мебельный гарнитур, стоимость которого 100 тыс. рублей. Администрация
аукциона согласна на выплату в рассрочку, с условием, что 20 тыс. руб. О.
Бендер выплатит через 2 месяца, а остальную сумму - через 4 месяца.
Однако О. Бендер, справедливо
полагая, что найти требуемую сумму ему не удастся, хочет получить средства
путем вложения денег по одному из типов вклада: А (сроком на 1 месяц под 1,5%),
В (сроком на 2 месяца под 3,5%) или С (сроком на 4 месяца под 8%).
Какую сумму и по какому типу вклада
нужно вложить О. Бендеру, чтобы через 4 месяца купить гарнитур?
Тип вклада
|
Срок вклада (мес.)
|
Процент по вкладу
|
A
|
1
|
1,5
|
2
|
3,5
|
C
|
4
|
8,0
|
Необходимо минимизировать размер
целевого фонда.
Решение:
Составим таблицу, отражающую
возможности вложения и возврата денег по месяцам:
Вклады
|
1
|
2
|
3
|
4
|
5
|
A1
|
1®®
|
1,015
|
|
|
|
A2
|
|
1®®
|
1,015
|
|
|
A3
|
|
|
1®
|
1,015
|
|
A4
|
|
|
|
1®®
|
1,015
|
B1
|
1®®
|
®®®
|
1,035
|
|
|
B3
|
|
|
1®®
|
®®®
|
1,035
|
C1
|
1®®
|
®®®
|
®®®
|
®®®
|
1,08
|
где: Ai - размер вклада типа A в месяце i; Bi - размер вклада типа B в месяце i; Ci - размер вклада
типа C в месяце i;
Задача может быть описана следующей
моделью:
Функция minimize возвращает вектор значений
переменных, являющихся аргументами целевой функции, при которых ее значение
будет минимальным. В первой колонке – порядковый номер переменной, начиная с
нулевого, по очередности упоминания. Во второй – соответствующие значения
переменных.
При необходимости, присвоив
переменным полученные значения, можно рассчитать и значение целевой функции.
Задача 5.2
Четыре фермерских хозяйства,
находящиеся в Рязанской, Владимирской, Тверской и Смоленской областях,
направляют выращиваемые овощи и фрукты на переработку и консервацию на один из
трех заводов, которые расположены в Москве, Туле и Ярославле.
Затраты на перевозку 1 т продукции
представлены в таблице (в рублях):
|
Москва
|
Тула
|
Ярославль
|
Рязанское
|
500
|
700
|
800
|
Владимирское
|
400
|
800
|
300
|
Тверское
|
400
|
700
|
400
|
Смоленское
|
600
|
600
|
700
|
В сезон Рязанское хозяйство
производит 40 т продукции в неделю, Владимирское - 50 т, Тверское - 60 т,
Смоленское - 70 т, в то время как завод в Москве может переработать в неделю
100 т продукции, в Туле - 50 т, в Ярославле - 40 т.
Составьте план перевозок продукции из
фермерских хозяйств на заводы с минимальными транспортными расходами, учитывая,
что в связи с ремонтом трассы Москва-Рязань в неделю по ней можно перевезти не
более 20 т продукции.
В данной задаче количество выращиваемых
продуктов, на 30 т больше, чем могут переработать заводы. Сведем задачу к
замкнутому виду, добавив фиктивного пятого поставщика.
Модель рассматриваемой задачи
выглядит так:
Заметим, что в целевую функцию не
введены штрафы за нереализацию продукции в связи с их отсутствием в условии
задачи.
Для того, чтобы удовлетворить
требованию вместо Московского завода введем двух
других.
Один из них, под именем Московского
завода будет иметь потребности, то есть возможности в переработке в количестве
20 т и с теми же стоимостями перевозок, а второй с возможностью 100 – 20 = 80 и
с теми же стоимостями перевозок, за исключением с15, которую примем
равной сколь угодно большому числу, например, 1000000000.
После нахождения оптимального плана
объемы перевозок в Москву необходимо прибавить к объемам перевозок Потребителя 2
В результате исходная задача примет
вид
|
Москва
|
Тула
|
Ярославль
|
Потребитель 1
|
Потребитель 2
|
Ресурсы
|
Рязанское
|
500
|
700
|
800
|
0
|
10000000000
|
40
|
Владимирское
|
400
|
800
|
300
|
0
|
400
|
50
|
Тверское
|
400
|
700
|
400
|
0
|
400
|
60
|
Смоленское
|
600
|
600
|
700
|
0
|
600
|
70
|
Потребности
|
20
|
50
|
40
|
30
|
80
|
220
|
Решим задачу при помощи модуля Поиск
решения:
Целевая ячейка D19 =СУММПРОИЗВ(B2:F5;B12:F15)
Получаем решение
С учетом ограничений на трассу
Москва-Рязань окончательно получаем план перевозок
|
Москва
|
Тула
|
Ярославль
|
Рязанское
|
20
|
0
|
0
|
Владимирское
|
10
|
0
|
40
|
Тверское
|
60
|
0
|
Смоленское
|
10
|
50
|
0
|
И окончательную стоимость
20*500+10*400+60*400+10*600+50*600+40*300
= 86000 у.е.
Задача 6.2
Фирма получила заказ на срочный перевод
четырех книг с итальянского языка. Фирма может располагать услугами 5
переводчиков, способных выполнить работу такого уровня. Время в днях, за
которое каждый переводчик справится с работой, приведено в таблице:
|
Книга 1
|
Книга 2
|
Книга 3
|
Книга 4
|
Иванов
|
10
|
25
|
14
|
25
|
Петров
|
8
|
12
|
16
|
28
|
Сидоров
|
12
|
18
|
17
|
33
|
Андреев
|
14
|
23
|
15
|
30
|
Васильев
|
11
|
20
|
18
|
28
|
Фирма использует повременную оплату
труда. Переводчики имеют разную квалификацию, поэтому за день работы фирма
платит Иванову 700 рублей в день, Петрову - 800 рублей в день, Сидорову - 600,
Андрееву - 500, Васильеву - 550. Поскольку по оценке фирмы качество переводов в
итоге будет примерно одинаковым, руководство фирмы просит Вас составить такое
распределение работ, которое позволит минимизировать затраты на переводы.
Решение.
Составим модель линейного
программирования, отражающую условие:
Решим задачу при помощи Microsoft Excel:
При решении задач о назначении особый
интерес вызывает способ ввода ограничений при заполнении формы модуля Поиск
решения и формулы целевой функции:
Проведенные расчеты показывают, что
минимальное общие затраты на перевод составили 48800 рублей. Назначение переводчика
для перевода книги определяется наличием на пересечении строки и столбца
значения 1.
Книгу 1 — Петров
Книгу 2 — Иванов
Книгу 3 — Васильев
Книгу 4 — Андреев