Лабораторная работа №1 “Решение задач линейного программирования с использованием Microsoft Excel” лаба
Автор: student | Категория: Технические науки / Информатика и программирование | Просмотров: 1505 | Комментирии: 0 | 05-01-2014 11:27
СКАЧАТЬ: metody-optimizacii.rar [308,62 Kb] (cкачиваний: 40)



Лабораторная работа №1
"Решение задач линейного программирования с использованием Microsoft Excel”
ЦЕЛЬ РАБОТЫ: Приобретение навыков решения задач линейного программирования (ЛП) в табличном редакторе Microsoft Excel.

1 ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ
1.1 Использование Microsoft Excel для решения задач ЛП
Для того чтобы решить задачу ЛП в табличном редакторе Microsoft Excel, необходимо выполнить следующие действия.
1. Ввести условие задачи:
a) создать экранную форму для ввода условия задачи:
• переменных,
• целевой функции (ЦФ),
• ограничений,
• граничных условий;
b) ввести исходные данные в экранную форму:
• коэффициенты ЦФ,
• коэффициенты при переменных в ограничениях,
• правые части ограничений;
c) ввести зависимости из математической модели в экранную форму:
• формулу для расчета ЦФ,
• формулы для расчета значений левых частей ограничений;
d) задать ЦФ (в окне "Поиск решения"):
• целевую ячейку,
• направление оптимизации ЦФ;
e) ввести ограничения и граничные условия (в окне "Поиск решения"):
• ячейки со значениями переменных,
• граничные условия для допустимых значений переменных,
• соотношения между правыми и левыми частями ограничений.
2. Решить задачу:
a) установить параметры решения задачи (в окне "Поиск решения");
b) запустить задачу на решение (в окне "Поиск решения");
c) выбрать формат вывода решения (в окне "Результаты поиска решения").
1.2 Одноиндексные задачи ЛП
Рассмотрим пример нахождения решения для следующей одноиндексной задачи ЛП:

(1.1)
1.2.1. Ввод исходных данных
Создание экранной формы и ввод в нее условия задачи
Экранная форма для ввода условий задачи (1) вместе с введенными в нее исходными данными представлена на рисунке1.


Рисунок 1 – Экранная форма задачи
Дальнейшие действия производятся в окне "Поиск решения", которое вызывается из меню "Сервис" (рис. 2):
• поставьте курсор в поле "Установить целевую ячейку";
• введите адрес целевой ячейки $G$7 или сделайте одно нажатие левой клавиши мыши на целевую ячейку в экранной форме  это будет равносильно вводу адреса с клавиатуры;
• введите направление оптимизации ЦФ, щелкнув один раз левой клавишей мыши по селекторной кнопке "максимальному значению".


Рисунок 2 – Окно "Поиск решения" задачи


Рисунок 3 – Экранная форма задачи после ввода всех необходимых формул
1.3 Целочисленное программирование
При целочисленном программировании мы получим те же результаты, так как в строке значение у нас уже целые коэффициенты.
1.4 Двухиндексные задачи ЛП
Двухиндексные задачи ЛП вводятся и решаются в Excel аналогично одноиндексным задачам. Специфика ввода условия двухиндексной задачи ЛП состоит лишь в удобстве матричного задания переменных задачи и коэффициентов ЦФ.


Рисунок 4 – Ограничения и граничные условия задачи


Рисунок 5 – Экранная форма после получения решения задачи
1.5 Задачи с булевыми переменными
Частным случаем задач с целочисленными переменными являются задачи, в результате решения которых искомые переменные могут принимать только одно из двух значений: 0 или 1. Такие переменные в честь предложившего их английского математика Джорджа Буля называют булевыми. На рис.6 представлена экранная форма с решением некоторой двухиндексной задачи с булевыми переменными.


Рисунок 6 – Решение двухиндексной задачи с булевыми переменными

В задаче с булевыми переменными в окне "Поиск решения" добавить граничные условия, имеющие смысл ограничения значений переменных по их единичной верхней границе.


Рисунок 7 – Добавление условия единичной верхней границы значений переменных двухиндексной задачи с булевыми переменными.

Вывод: в ходе лабораторной работы приобрели навыки решения задач линейного программирования (ЛП) в табличном редакторе Microsoft Excel.
1.2. ПРИМЕРНЫЕ ВОПРОСЫ НА ЗАЩИТЕ РАБОТЫ
1. Каковы основные этапы решения задач ЛП в MS Excel?
2. Каков вид и способы задания формул для целевой ячейки и ячеек левых частей ограничений?
3. В чем смысл использования символа $ в формулах MS Excel?
4. В чем различие использования в формулах MS Excel символов ; и :?
5. Почему при вводе формул в ячейки ЦФ и левых частей ограничений в них отображаются нулевые значения?
6. Каким образом в MS Excel задается направление оптимизации ЦФ?
7. Какие ячейки экранной формы выполняют иллюстративную функцию, а какие необходимы для решения задачи?
8. Как наглядно отобразить в экранной форме ячейки, используемые в конкретной формуле, с целью проверки ее правильности?
9. Поясните общий порядок работы с окном "Поиск решения".
10. Каким образом можно изменять, добавлять, удалять ограничения в окне "Поиск решения"?
11. Какие сообщения выдаются в MS Excel в случаях: успешного решения задачи ЛП; несовместности системы ограничений задачи; неограниченности ЦФ?
12. Объясните смысл параметров, задаваемых в окне "Параметры поиска решения".
13. Каковы особенности решения в MS Excel целочисленных задач ЛП?
14. Каковы особенности решения в MS Excel двухиндексных задач ЛП?
15. Каковы особенности решения в MS Excel задач ЛП с булевыми переменными?



1. Каковы основные этапы решения задач ЛП в MS Excel?
Для того чтобы решить задачу ЛП в табличном редакторе MicrosoftExcel, необходимо выполнить следующие действия.
1. Ввести условие задачи:
a) создать экранную форму для ввода условия задачи:
• переменных,
• целевой функции (ЦФ),
• ограничений,
• граничных условий;
b) ввести исходные данные в экранную форму:
• коэффициенты ЦФ,
• коэффициенты при переменных в ограничениях,
• правые части ограничений;
c) ввести зависимости из математической модели в экранную форму:
• формулу для расчета ЦФ,
• формулы для расчета значений левых частей ограничений;
d) задать ЦФ (в окне "Поиск решения"):
• целевую ячейку,
• направление оптимизации ЦФ;
e) ввести ограничения и граничные условия (в окне "Поиск решения"):
• ячейки со значениями переменных,
• граничные условия для допустимых значений переменных,
• соотношениямежду правыми и левыми частями ограничений.
2. Решить задачу:
a) установить параметры решения задачи (в окне "Поиск решения");
b) запустить задачу на решение (в окне "Поиск решения");
c) выбрать формат вывода решения (в окне "Результаты поиска решения").

2. Каков вид и способы задания формул для целевой ячейки и ячеек левых частей ограничений?
Формулу для расчета ЦФ (1.2) можно записать как сумму произведений каждой из ячеек, отведенных для значений переменных задачи (B3, C3, D3, E3), на соответствующую ячейку, отведенную для коэффициентов ЦФ (B6, C6, D6, E6), то есть
=СУММПРОИЗВ(B$3:E$3;B6:E6)
Существует другой способ задания функций в Excel с помощью режима "Вставка функций", который можно вызвать из меню "Вставка" или при нажатии кнопки " "на стандартной панели инструментов. Так, например, формулу (1.4) можно задать следующим образом:
курсор в поле F6;
• нажав кнопку " ",вызовите окно"Мастер функций – шаг 1 из 2";
• выберите в окне "Категория" категорию "Математические";
• в окне "Функция" выберитефункцию СУММПРОИЗВ;
• в появившемся окне "СУММПРОИЗВ" в строку "Массив 1" введите выражение B$3:E$3, а в строку "Массив 2" – выражение B6:E6 (рис.1.3);
• после ввода ячеек в строки "Массив 1" и "Массив 2" в окне "СУММПРОИЗВ" появятся числовые значения введенных массивов (см. рис.1.3), а в экранной форме в ячейке F6 появится текущее значение, вычисленное по введенной формуле, то есть 0 (так как в момент ввода формулы значения переменных задачи нулевые).
Левые части ограничений задачи (1.1) представляют собой сумму произведений каждой из ячеек, отведенных для значений переменных задачи (B3, C3, D3, E3), на соответствующую ячейку, отведенную для коэффициентов конкретного ограничения (B10, C10, D10, E10 – 1-е ограничение; B11, C11, D11, E11 – 2-е ограничение и B12, C12, D12, E12 – 3-е ограничение).

3. В чем смысл использования символа $ в формулах MS Excel?
Символ $ перед номером строки 3 означает, что при копировании этой формулы в другие места листа Excel номер строки 3 не изменится.
4. В чем различие использования в формулах MS Excel символов ; и : ?
Символ: означает, что в формуле будут использованы все ячейки, расположенные между ячейками, указанными слева и справа от двоеточия. Символ;используется для разделения массивов.

5. Почему при вводе формул в ячейки ЦФ и левых частей ограничений в них отображаются нулевые значения?
В экранной форме в ячейке F6 появится текущее значение, вычисленное по введенной формуле, то есть 0 (так как в момент ввода формулы значения переменных задачи нулевые).

6. Каким образом в MS Excel задается направление оптимизации ЦФ?
В окне поиска решения.

7. Какие ячейки экранной формы выполняют иллюстративную функцию, а какие необходимы для решения задачи?
Ячейки, которые не используются для вычисления ограничений или ЦФ (например, заголовки или ячейки со знаками равенства) выполняют иллюстративную функцию.

8. Как наглядно отобразить в экранной форме ячейки, используемые в конкретной формуле, с целью проверки ее правильности?
Для проверки правильности введенных формул производите поочередно двойное нажатие левой клавиши мыши на ячейки с формулами. При этом на экране рамкой будут выделяться ячейки, используемые в формуле
9. Поясните общий порядок работы с окном "Поиск решения".
Дальнейшие действия производятся в окне "Поиск решения", которое вызывается из меню "Сервис" (рис.1.6):
• поставьте курсор в поле "Установить целевую ячейку";
• введите адрес целевой ячейки $F$6 или сделайте одно нажатие левой клавиши мыши на целевую ячейку в экранной форме  это будет равносильно вводу адреса с клавиатуры;
• введите направление оптимизации ЦФ, щелкнув один раз левой клавишей мыши по селекторной кнопке "максимальному значению".
В окно "Поиск решения" в поле "Изменяя ячейки" впишите адреса $B$3:$E$3. Необходимые адреса можно вносить в поле "Изменяя ячейки" и автоматически путем выделения мышью соответствующих ячеек переменных непосредственно в экранной форме.
В нашем случае на значения переменных накладывается только граничное условие неотрицательности, то есть их нижняя граница должна быть равна нулю (см. рис.1.1).
• Нажмите кнопку "Добавить", после чего появится окно "Добавление ограничения".
• В поле "Ссылка на ячейку" введите адреса ячеек переменных $B$3:$E$3. Это можно сделать как с клавиатуры, так и путем выделения мышью всех ячеек переменных непосредственно в экранной форме.
• В поле знака откройте список предлагаемых знаков и выберите .
• В поле "Ограничение" введите адреса ячеек нижней границы значений переменных, то есть $B$4:$E$4. Их также можно ввести путем выделения мышью непосредственно в экранной форме.


10. Каким образом можно изменять, добавлять, удалять ограничения в окне "Поиск решения"?
• Нажмите кнопку "Добавить" в окне "Добавление ограничения".
• В поле "Ссылка на ячейку" введите адрес ячейки левой части конкретного ограничения, например $F$10. Это можно сделать как с клавиатуры, так и путем выделения мышью нужной ячейки непосредственно в экранной форме.
• В соответствии с условием задачи (1.1) выбрать в поле знака необходимый знак, например =.
• В поле "Ограничение" введите адрес ячейки правой части рассматриваемого ограничения, например $H$10.
• Аналогично введите ограничения: $F$11>=$H$11, $F$12<=$H$12.
• Подтвердите ввод всех перечисленных выше условий нажатием кнопки OK.
• Окно "Поиск решения" после ввода всех необходимых данных задачи (1.1) представлено на рис.1.6.
• Если при вводе условия задачи возникает необходимость в изменении или удалении внесенных ограничений или граничных условий, то это делают, нажав кнопки "Изменить" или "Удалить"
11. Какие сообщения выдаются в MS Excel в случаях: успешного решения задачи ЛП; несовместности системы ограничений задачи; неограниченности ЦФ?

12. Объясните смысл параметров, задаваемых в окне "Параметры поиска решения".
• Параметр "Максимальное время" служит для назначения времени (в секундах), выделяемого на решение задачи. В поле можно ввести время, не превышающее 32 767 секунд (более 9 часов).
• Параметр "Предельное числоитераций"служит для управления временем решения задачи путем ограничения числа промежуточных вычислений. В поле можно ввести количество итераций, не превышающее 32 767.
• Параметр "Относительная погрешность" служит для задания точности, с которой определяется соответствие ячейки целевому значению или приближение к указанным границам. Поле должно содержать число из интервала от 0 до 1. Чем меньше количество десятичных знаков во введенном числе, тем ниже точность. Высокая точность увеличит время, которое требуется для того, чтобы сошелся процесс оптимизации.
• Параметр "Допустимое отклонение" служит для задания допуска на отклонение от оптимального решения в целочисленных задачах. При указании большего допуска поиск решения заканчивается быстрее.
• Параметр "Сходимость" применяется только при решении нелинейных задач.
• Установка флажка "Линейная модель" обеспечивает ускорение поиска решения линейной задачи за счет применение симплекс-метода.
• Подтвердите установленные параметры нажатием кнопки "OK".

13. Каковы особенности решения в MS Excel целочисленных задач ЛП?
Добавилось требование целочисленности значений всех переменных. В этом случае в поиске решения добавляем требование целочисленности функции.
14. Каковы особенности решения в MS Excelдвухиндексных задач ЛП?
Двухиндексные задачи ЛП вводятся и решаются в Excel аналогично одноиндексным задачам. Специфика ввода условия двухиндексной задачи ЛП состоит лишь в удобстве матричного задания переменных задачи и коэффициентов ЦФ.

15. Каковы особенности решения в MS Excel задач ЛП с булевыми переменными?
Частным случаем задач с целочисленными переменными являются задачи, в результате решения которых искомые переменные могут принимать только одно из двух значений: 0 или 1. В окне "Поиск решения" добавить граничные условия, имеющие смысл ограничения значений переменных по их единичной верхней границе (рис.1.19).