- •Лабораторная работа №1 «Задачи линейного программирования: решение с использованием Microsoft Excel» Цель работы
- •Порядок выполнения работы
- •1.1 Указания по решению одноиндексных задач линейного программирования
- •Ввод исходных данных
- •Ввод зависимостей для целевой функции
- •Ввод зависимостей для левых частей ограничений
- •Задание целевой функции
- •Ввод ограничений и граничных условий
- •1.2 Указания по решению задачи целочисленного программирования
- •1.3 Варианты заданий
- •1.4 Примерные вопросы на защите работы
- •Решение задачи
Ввод зависимостей для левых частей ограничений
Левые части ограничений задачи представляют собой сумму произведений каждой из ячеек, отведенных для значений переменных задачи (B3, C3, D3, E3), на соответствующую ячейку, отведенную для коэффициентов конкретного ограничения (B10, C10, D10, E10 – 1-е ограничение; B11, C11, D11, E11 – 2-е ограничение и B12, C12, D12, E12 – 3-е ограничение). Формулы, соответствующие левым частям ограничений, представлены в таблице 1.1.
Таблица 1.1 – Формулы, описывающие ограничения модели
Левая часть ограничения |
Формула Excel |
|
=СУММПРОИЗВ(B$3:E$3;B10:E10) |
|
=СУММПРОИЗВ(B$3:E$3;B11:E11) |
|
=СУММПРОИЗВ(B$3:E$3;B12:E12) |
Как видно из таблицы 1.1, формулы, задающие левые части ограничений задачи, отличаются друг от друга и от формулы (1.4) в целевой ячейке F6 только номером строки во втором массиве. Этот номер определяется той строкой, в которой ограничение записано в экранной форме. Поэтому для задания зависимостей для левых частей ограничений достаточно скопировать формулу из целевой ячейки в ячейки левых частей ограничений. Для этого необходимо:
поместить курсор в поле целевой ячейки F6 и скопировать в буфер содержимое ячейки F6 (клавишами "Ctrl-Insert");
помещать курсор поочередно в поля левой части каждого из ограничений, то есть в F10, F11 и F12, и вставлять в эти поля содержимое буфера (клавишами "Shift-Insert") (при этом номер ячеек во втором массиве формулы будет меняться на номер той строки, в которую была произведена вставка из буфера);
на экране в полях F10, F11 и F12 появится 0 (нулевое значение) (рисунок 1.2).
Задание целевой функции
Дальнейшие действия производятся в окне "Поиск решения", которое вызывается из меню "Сервис" (рисунок 1.4):
поставьте курсор в поле "Установить целевую ячейку";
введите адрес целевой ячейки $F$6 или сделайте одно нажатие левой клавиши мыши на целевую ячейку в экранной форме;
введите направление оптимизации целевой функции, щелкнув один раз левой клавишей мыши по селекторной кнопке "максимальному значению".
Рисунок 1.4 – Окно "Поиск решения"
Ввод ограничений и граничных условий
В окно "Поиск решения" в поле "Изменяя ячейки" впишите адреса $B$3:$E$3. Необходимые адреса можно вносить в поле "Изменяя ячейки" и автоматически путем выделения мышью соответствующих ячеек переменных непосредственно в экранной форме.
В данном примере на значения переменных накладывается только граничное условие неотрицательности, т.е. их нижняя граница должна быть равна нулю, что может быть отражено следующим образом:
Нажмите кнопку "Добавить", после чего появится окно "Добавление ограничения" (рисунок 1.5).
В поле "Ссылка на ячейку" введите адреса ячеек переменных $B$3:$E$3. Это можно сделать как с клавиатуры, так и путем выделения мышью всех ячеек переменных непосредственно в экранной форме.
В поле знака откройте список предлагаемых знаков и выберите
.В поле "Ограничение" введите адреса ячеек нижней границы значений переменных, то есть $B$4:$E$4. Их также можно ввести путем выделения мышью непосредственно в экранной форме.
Рисунок 1.5 – Добавление условия неотрицательности переменных задачи
Задание
знаков ограничений
,
,
= осуществляется следующим образом:
Нажмите кнопку "Добавить" в окне "Добавление ограничения".
В поле "Ссылка на ячейку" введите адрес ячейки левой части конкретного ограничения, например $F$10. Это можно сделать как с клавиатуры, так и путем выделения мышью нужной ячейки непосредственно в экранной форме.
В соответствии с условием задачи выбрать в поле знака необходимый знак, например =.
В поле "Ограничение" введите адрес ячейки правой части рассматриваемого ограничения, например $H$10.
Аналогично введите ограничения: $F$11>=$H$11, $F$12<=$H$12.
Окно "Поиск решения" после ввода всех необходимых данных задачи представлено на рисунке 1.4. Если при вводе условия задачи возникает необходимость в изменении или удалении внесенных ограничений или граничных условий, то это делают, нажав кнопки "Изменить" или "Удалить".
