Лабораторные занятия №№ 5,6. Решение задач линейного программирования с использованием Microsoft Excel

Лабораторные занятия №№ 5,6. Решение задач линейного программирования с использованием Microsoft Excel

Методические указания

Специальность 080502 Экономика и управление на предприятии

(в аграрном производстве)

Уфа 2006

УДК 519.8:004.4

ББК 22.18

Л 12

Рекомендовано к изданию методической комиссией экономического факультета (протокол № 7 от «_29__» мая 2006 г.)

Составитель: ст. преподаватель Сагадеева Э. Ф.

Рецензент: к.т.н., доцент кафедры информатики и информационных технологий Дидык Т. Г.

Ответственный за выпуск: заведующий кафедрой статистики и информационных систем в экономике д.э.н., профессор Рафикова Н.Т.

ОГЛАВЛЕНИЕ

1.Решение задач линейного программирования с использованием Microsoft Excel
1.1. Цель работы
1.2. Порядок выполнения работы
1.3. Инструкция по использованию Microsoft Excel для решения задач ЛП
1.3.1.Задачи линейного программирования (ЛП)
1.3.1.1. Ввод исходных данных
1.3.1.2. Решение задачи
1.3.2. Целочисленное программирование
1.3.3 Двухиндексные задачи ЛП
1.3.4.Задачи с булевыми перемеными
1.4 Примерные вопросы на защите работы
1.5 Варианты
Библиографический список
   

РЕШЕНИЕ ЗАДАЧ ЛИНЕЙНОГО ПРОГРАММИРОВАНИЯ С ИСПОЛЬЗОВАНИЕМ Microsoft Excel

ЦЕЛЬ РАБОТЫ

Приобретение навыков решения задач линейного программирования (ЛП) в табличном редакторе Microsoft Excel.

ПОРЯДОК ВЫПОЛНЕНИЯ РАБОТЫ

Для модели ЛП, соответствующей номеру Вашего варианта, найдите оптимальное решение в табличном редакторе Microsoft Excel и продемонстрируйте его преподавателю.

ИНСТРУКЦИЯ ПО ИСПОЛЬЗОВАНИЮ Microsoft Excel ДЛЯ РЕШЕНИЯ ЗАДАЧ ЛП

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

1. Ввести условие задачи:

a) создать экранную форму для ввода условия задачи:

· переменных,

· целевой функции (ЦФ),

· ограничений,

· граничных условий;

b) ввести исходные данные в экранную форму:

· коэффициенты ЦФ,

· коэффициенты при переменных в ограничениях,

· правые части ограничений;

c) ввести зависимости из математической модели в экранную форму:

· формулу для расчета ЦФ,

· формулы для расчета значений левых частей ограничений;

d) задать ЦФ (в окне "Поиск решения"):

· целевую ячейку,

· направление оптимизации ЦФ;

e) ввести ограничения и граничные условия (в окне "Поиск решения"):

· ячейки со значениями переменных,

· граничные условия для допустимых значений переменных,

· соотношениямежду правыми и левыми частями ограничений.

2. Решить задачу:

a) установить параметры решения задачи (в окне "Поиск решения");

b) запустить задачу на решение (в окне "Поиск решения");

c) выбрать формат вывода решения (в окне "Результаты поиска решения").

Задачи линейного программирования (ЛП)

Рассмотрим пример нахождения решения для следующей задачи ЛП:

Лабораторные занятия №№ 5,6. Решение задач линейного программирования с использованием Microsoft Excel - student2.ru (1.1)

Ввод исходных данных

Создание экранной формы и ввод в нее условия задачи

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

Лабораторные занятия №№ 5,6. Решение задач линейного программирования с использованием Microsoft Excel - student2.ru

Рис.1.1. Экранная форма задачи (1.1) (курсор в ячейке F6)

В экранной форме на рис.1.1 каждой переменной и каждому коэффициенту задачи поставлена в соответствие конкретная ячейка в Excel. Имя ячейки состоит из буквы, обозначающей столбец, и цифры, обозначающей строку, на пересечении которых находится объект задачи ЛП. Так, например, переменным задачи (1.1) соответствуют ячейки B3 ( Лабораторные занятия №№ 5,6. Решение задач линейного программирования с использованием Microsoft Excel - student2.ru ), C3 ( Лабораторные занятия №№ 5,6. Решение задач линейного программирования с использованием Microsoft Excel - student2.ru ), D3 ( Лабораторные занятия №№ 5,6. Решение задач линейного программирования с использованием Microsoft Excel - student2.ru ), E3 ( Лабораторные занятия №№ 5,6. Решение задач линейного программирования с использованием Microsoft Excel - student2.ru ), коэффициентам ЦФ соответствуют ячейки B6 ( Лабораторные занятия №№ 5,6. Решение задач линейного программирования с использованием Microsoft Excel - student2.ru 130,5), C6 ( Лабораторные занятия №№ 5,6. Решение задач линейного программирования с использованием Microsoft Excel - student2.ru 20), D6 ( Лабораторные занятия №№ 5,6. Решение задач линейного программирования с использованием Microsoft Excel - student2.ru 56), E6 ( Лабораторные занятия №№ 5,6. Решение задач линейного программирования с использованием Microsoft Excel - student2.ru 87,8), правым частям ограничений соответствуют ячейки H10 ( Лабораторные занятия №№ 5,6. Решение задач линейного программирования с использованием Microsoft Excel - student2.ru 756), H11 ( Лабораторные занятия №№ 5,6. Решение задач линейного программирования с использованием Microsoft Excel - student2.ru 450), H12 ( Лабораторные занятия №№ 5,6. Решение задач линейного программирования с использованием Microsoft Excel - student2.ru 89) и т.д.

Ввод зависимостей из математической модели в экранную форму

Зависимость для ЦФ

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

Лабораторные занятия №№ 5,6. Решение задач линейного программирования с использованием Microsoft Excel - student2.ru . (1.2)

Используя обозначения соответствующих ячеек в Excel (см. рис.1.1), формулу для расчета ЦФ (1.2) можно записать как сумму произведений каждой из ячеек, отведенных для значений переменных задачи (B3, C3, D3, E3), на соответствующую ячейку, отведенную для коэффициентов ЦФ (B6, C6, D6, E6), то есть

Лабораторные занятия №№ 5,6. Решение задач линейного программирования с использованием Microsoft Excel - student2.ru . (1.3)

Чтобы задать формулу (1.3) необходимо в ячейку F6 ввести следующее выражение и нажать клавишу "Enter"



=СУММПРОИЗВ(B$3:E$3;B6:E6), (1.4)

где символ $ перед номером строки 3 означает, что при копировании этой формулы в другие места листа Excel номер строки 3 не изменится;

символ : означает, что в формуле будут использованы все ячейки, расположенные между ячейками, указанными слева и справа от двоеточия (например, запись B6:E6 указывает на ячейки B6, C6, D6 и E6). После этого в целевой ячейке появится 0 (нулевое значение) (рис.1.2).

Лабораторные занятия №№ 5,6. Решение задач линейного программирования с использованием Microsoft Excel - student2.ru

Рис.1.2. Экранная форма задачи (1.1) после ввода всех необходимых формул (курсор в ячейке F6)

Примечание 1.1. Существует другой способ задания функций в Excel с помощью режима "Вставка функций", который можно вызвать из меню "Вставка" или при нажатии кнопки " Лабораторные занятия №№ 5,6. Решение задач линейного программирования с использованием Microsoft Excel - student2.ru "на стандартной панели инструментов. Так, например, формулу (1.4) можно задать следующим образом:

· курсор в поле F6;

· нажав кнопку " Лабораторные занятия №№ 5,6. Решение задач линейного программирования с использованием Microsoft Excel - student2.ru ",вызовите окно"Мастер функций – шаг 1 из 2";

· выберите в окне "Категория"категорию "Математические";

· в окне "Функция"выберитефункциюСУММПРОИЗВ;

· в появившемся окне "СУММПРОИЗВ" в строку "Массив 1" введите выражение B$3:E$3, а в строку "Массив 2" – выражение B6:E6(рис.1.3);

· после ввода ячеек в строки "Массив 1" и "Массив 2" в окне "СУММПРОИЗВ" появятся числовые значения введенных массивов (см. рис.1.3), а в экранной форме в ячейке F6 появится текущее значение, вычисленное по введенной формуле, то есть 0 (так как в момент ввода формулы значения переменных задачи нулевые).

Лабораторные занятия №№ 5,6. Решение задач линейного программирования с использованием Microsoft Excel - student2.ru

Рис.1.3. Ввод формулы для расчета ЦФ в окно "Мастер функций"

Зависимости для левых частей ограничений

Левые части ограничений задачи (1.1) представляют собой сумму произведений каждой из ячеек, отведенных для значений переменных задачи (B3, C3, D3, E3), на соответствующую ячейку, отведенную для коэффициентов конкретного ограничения (B10, C10, D10, E10 –1-е ограничение; B11, C11, D11, E11– 2-е ограничение и B12, C12, D12, E12 –3-е ограничение). Формулы, соответствующие левым частям ограничений, представлены в табл.1.1.

Таблица 1.1

Решение задачи

Установка параметров решения задачи

Задача запускается на решение в окне "Поиск решения". Но предварительно для установления конкретных параметров решения задач оптимизации определенного класса необходимо нажать кнопку "Параметры" и заполнить некоторые поля окна "Параметры поиска решения" (рис.1.8).

Лабораторные занятия №№ 5,6. Решение задач линейного программирования с использованием Microsoft Excel - student2.ru

Рис.1.8. Параметры поиска решения, подходящие для большинства задач ЛП

Параметр"Максимальное время" служит для назначения времени (в секундах), выделяемого на решение задачи. В поле можно ввести время, не превышающее 32 767 секунд (более 9 часов).

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

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

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

Параметр"Сходимость" применяется только при решении нелинейных задач.

Установка флажка "Линейная модель" обеспечивает ускорение поиска решения линейной задачи за счет применение симплекс-метода.

Подтвердите установленные параметры нажатием кнопки "OK".

Запуск задачи на решение

Запуск задачи на решение производится из окна "Поиск решения" путем нажатия кнопки "Выполнить".

После запуска на решение задачи ЛП на экране появляется окно "Результаты поиска решения"с одним из сообщений, представленных на рис.1.9, 1.10 и 1.11.

Лабораторные занятия №№ 5,6. Решение задач линейного программирования с использованием Microsoft Excel - student2.ru

Рис.1.9. Сообщение об успешном решении задачи

Лабораторные занятия №№ 5,6. Решение задач линейного программирования с использованием Microsoft Excel - student2.ru

Рис.1.10. Сообщение при несовместной системе ограничений задачи

Лабораторные занятия №№ 5,6. Решение задач линейного программирования с использованием Microsoft Excel - student2.ru

Рис.1.11. Сообщение при неограниченности ЦФ в требуемом направлении

Иногда сообщения, представленные на рис.1.10 и 1.11, свидетельствуют не о характере оптимального решения задачи, а о том, что при вводе условий задачи в Excel были допущены ошибки, не позволяющие Excel найти оптимальное решение, которое в действительности существует (см. ниже подразд.1.3.5).

Если при заполнении полей окна "Поиск решения" были допущены ошибки, не позволяющие Excel применить симплекс-метод для решения задачи или довести ее решение до конца, то после запуска задачи на решение на экран будет выдано соответствующее сообщение с указанием причины, по которой решение не найдено. Иногда слишком малое значение параметра "Относительная погрешность" не позволяет найти оптимальное решение. Для исправления этой ситуации увеличивайте погрешность поразрядно, например от 0,000001 до 0,00001 и т.д.

В окне "Результаты поиска решения"представлены названия трех типов отчетов: "Результаты", "Устойчивость", "Пределы". Они необходимы при анализе полученного решения на чувствительность (см. ниже подразд.1.3.3). Для получения же ответа (значений переменных, ЦФ и левых частей ограничений) прямо в экранной форме просто нажмите кнопку "OK". После этого в экранной форме появляется оптимальное решение задачи (рис.1.12).

Лабораторные занятия №№ 5,6. Решение задач линейного программирования с использованием Microsoft Excel - student2.ru

Рис.1.12. Экранная форма задачи (1.1) после получения решения

Двухиндексные задачи ЛП

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

Рассмотрим решение двухиндексной задачи, суть которой заключается в оптимальной организации транспортных перевозок штучного товара со складов в магазины (табл.1.2).

Таблица 1.2

Исходные данные транспортной задачи

Тарифы, руб./шт. 1-й магазин 2-й магазин 3-й магазин Запасы, шт.
1-й склад
2-й склад
3-й склад
4-й склад
Потребности, шт.  

Целевая функция и ограничения данной задачи имеют вид

Лабораторные занятия №№ 5,6. Решение задач линейного программирования с использованием Microsoft Excel - student2.ru Лабораторные занятия №№ 5,6. Решение задач линейного программирования с использованием Microsoft Excel - student2.ru (1.5)

Экранные формы, задание переменных, целевой функции, ограничений и граничных условий двухиндексной задачи (1.5) и ее решение представлены на рис.1.15, 1.16, 1.17 и в табл.1.3.

Лабораторные занятия №№ 5,6. Решение задач линейного программирования с использованием Microsoft Excel - student2.ru

Рис.1.15. Экранная форма двухиндексной задачи (1.5)

(курсор в целевой ячейке F15)

Таблица 1.3

Формулы экранной формы задачи (1.5)

Объект математической модели Выражение в Excel
Переменные задачи C3:E6
Формула в целевой ячейке F15 =СУММПРОИЗВ(C3:E6;C12:E15)
Ограничения по строкам в ячейках F3, F4, F5, F6 =СУММ(C3:E3) =СУММ(C4:E4) =СУММ(C5:E5) =СУММ(C6:E6)
Ограничения по столбцам в ячейках С7, D7, E7 =СУММ(C3:C6) =СУММ(D3:D6) =СУММ(E3:E6)
Суммарные запасы и потребности в ячейках H8, G9 =СУММ(H3:H6) =СУММ(C9:E9)

Лабораторные занятия №№ 5,6. Решение задач линейного программирования с использованием Microsoft Excel - student2.ru

Рис.1.16. Ограничения и граничные условия задачи (1.5)

Лабораторные занятия №№ 5,6. Решение задач линейного программирования с использованием Microsoft Excel - student2.ru

Рис.1.17. Экранная форма после получения решения задачи (1.5)

(курсор в целевой ячейке F15)

ПРИМЕРНЫЕ ВОПРОСЫ НА ЗАЩИТЕ РАБОТЫ

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 задач ЛП с булевыми переменными?

ВАРИАНТЫ

Используя MS Excel, найти решение для модели ЛП, соответствующей заданному варианту (табл.1.5).

Таблица 1.5

Варианты задач к лабораторной работе №1

№ варианта Математическая модель
Лабораторные занятия №№ 5,6. Решение задач линейного программирования с использованием Microsoft Excel - student2.ru
Лабораторные занятия №№ 5,6. Решение задач линейного программирования с использованием Microsoft Excel - student2.ru
Лабораторные занятия №№ 5,6. Решение задач линейного программирования с использованием Microsoft Excel - student2.ru
Лабораторные занятия №№ 5,6. Решение задач линейного программирования с использованием Microsoft Excel - student2.ru
Лабораторные занятия №№ 5,6. Решение задач линейного программирования с использованием Microsoft Excel - student2.ru
Лабораторные занятия №№ 5,6. Решение задач линейного программирования с использованием Microsoft Excel - student2.ru
Лабораторные занятия №№ 5,6. Решение задач линейного программирования с использованием Microsoft Excel - student2.ru
Лабораторные занятия №№ 5,6. Решение задач линейного программирования с использованием Microsoft Excel - student2.ru
Лабораторные занятия №№ 5,6. Решение задач линейного программирования с использованием Microsoft Excel - student2.ru
Лабораторные занятия №№ 5,6. Решение задач линейного программирования с использованием Microsoft Excel - student2.ru
Лабораторные занятия №№ 5,6. Решение задач линейного программирования с использованием Microsoft Excel - student2.ru
Лабораторные занятия №№ 5,6. Решение задач линейного программирования с использованием Microsoft Excel - student2.ru

БИБЛИОГРАФИЧЕСКИЙ СПИСОК

1. Бережная Е. В., Бережной В. И. Математические методы моделирования экономических систем: Учеб. пособие. – М.: Финансы и статистика, 2001. – 368 с.

2. Исследование операций в экономике: Учебн. пособие для вузов. / Под ред. Н. Ш. Кремера. – М.: Банки и биржи, ЮНИТИ, 1997. – 407 с.

3. Фомин Г. П. Математические методы и модели в коммерческой деятельности: Учебник. – М.: Финансы и статистика, 2001. – 544 с.

4. Шапкин А. С., Мазаев Н. П. Математические методы и модели исследования операций: Учебник. –М.: «Дашков и Ко», 2004. – 400 с.

5. Шелобаев С. И. Математические методы и модели в экономике, финансах, бизнесе: Учеб. пособие. – М.: ЮНИТИ, 2001. - 368 с.

6. Экономико-математические методы и прикладные модели: Учеб. пособие для вузов. / Под ред. В. В. Федосеева. – М.: ЮНИТИ, 1999.

7. Экономико-математические методы и модели: Учеб. пособие для студентов экономических специальностей вузов. /Под ред. А. В. Кузнецова (Н. И. Холод, А. В. Кузнецов, Я. Н. Жихар) – Мн.: БГЭУ, 2000. – 413 с.

Лицензия РБ на издательскую деятельность №0261 от 10 апреля 1998 года.

Подписано в печать ___________ 2006 г. Формат 60х84. Бумага типографская. Гарнитура Таймс. Усл. печ. л. _______. Усл. изд. л. _______. Тираж _______экз. Заказ № __________.

Издательство Башкирского государственного агарного университета.

Кафедра статистики и информационных систем в экономике

Лабораторные занятия №№ 5,6. Решение задач линейного программирования с использованием Microsoft Excel

Методические указания

Специальность 080502 Экономика и управление на предприятии

(в аграрном производстве)

Уфа 2006

УДК 519.8:004.4

ББК 22.18

Л 12

Рекомендовано к изданию методической комиссией экономического факультета (протокол № 7 от «_29__» мая 2006 г.)

Составитель: ст. преподаватель Сагадеева Э. Ф.

Рецензент: к.т.н., доцент кафедры информатики и информационных технологий Дидык Т. Г.

Ответственный за выпуск: заведующий кафедрой статистики и информационных систем в экономике д.э.н., профессор Рафикова Н.Т.

ОГЛАВЛЕНИЕ

1.Решение задач линейного программирования с использованием Microsoft Excel
1.1. Цель работы
1.2. Порядок выполнения работы
1.3. Инструкция по использованию Microsoft Excel для решения задач ЛП
1.3.1.Задачи линейного программирования (ЛП)
1.3.1.1. Ввод исходных данных
1.3.1.2. Решение задачи
1.3.2. Целочисленное программирование
1.3.3 Двухиндексные задачи ЛП
1.3.4.Задачи с булевыми перемеными
1.4 Примерные вопросы на защите работы
1.5 Варианты
Библиографический список
   

Наши рекомендации