Функция 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 | 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. Поскольку по оценке фирмы качество переводов в итоге будет примерно одинаковым, руководство фирмы просит Вас составить такое распределение работ, которое позволит минимизировать затраты на переводы.
Решение.
Составим модель линейного программирования, отражающую условие:
Решим задачу при помощи MicrosoftExcel:
При решении задач о назначении особый интерес вызывает способ ввода ограничений при заполнении формы модуля Поиск решения и формулы целевой функции:
Проведенные расчеты показывают, что минимальное общие затраты на перевод составили 48800 рублей. Назначение переводчика для перевода книги определяется наличием на пересечении строки и столбца значения 1.
Книгу 1 — Петров
Книгу 2 — Иванов
Книгу 3 — Васильев
Книгу 4 — Андреев