Автор работы: Пользователь скрыл имя, 08 Октября 2013 в 22:16, курсовая работа
Данный курсовой проект предназначен для решения задач линейного программирования. Для этого было необходимо произвести расчеты, используя ручной метод решения задачи симплекс методом, табличный процессор MS Excel из пакета программ Microsoft Office, а также необходимо было написать программу в среде Microsoft Visual Basic.
Для решения задач линейного программирования симплекс методом в любом из вышеперечисленных способов возникает ряд неудобств, например: при решении задачи вручную при подсчетах таблиц можно ошибиться и неправильно решить задачу, при решении задачи в табличном процессоре Microsoft Excel существует необходимость переписывать формулы при составлении новой таблицы, написание программы в среде Microsoft Visual Basic очень утомительное и занимает слишком много времени.
Введение 4
1. ОБЩАЯ ЧАСТЬ 5
1.1 Общая задача линейного программирования, применение её для решения различных типов вычислительных задач. 5
1.2.Применение процессора Microsoft Excel для расчета задач линейного программирования 10
1.3. Использование технических и программных средств для решения задач линейного программирования 16
1.3.1.Microsoft Visual Basic 6.0 22
1.3.2 Microsoft Office 24
1.4. Алгоритм нахождения оптимального решения задач линейного программирования 26
2. СПЕЦИАЛЬНАЯ ЧАСТЬ 27
2.1. Задание для курсового проекта 27
2.1.1.Приведение задачи к каноническому виду 28
2.2. Нахождение начального опорного решения (НОР) 29
2.3. Нахождение оптимального решения 30
2.4. Алгоритмы и их описание 33
2.5. Описание программы 42
2.6. Описание процесса отладки программы обработка ошибок программы 44
2.7. Инструкция пользователю 48
3.Заключение 50
СОДЕРЖАНИЕ
Введение 4
1. ОБЩАЯ ЧАСТЬ 5
1.1 Общая задача линейного программирования, применение её для решения различных типов вычислительных задач. 5
1.2.Применение процессора Microsoft Excel для расчета задач линейного программирования 10
1.3. Использование технических и программных средств для решения задач линейного программирования 16
1.3.1.Microsoft Visual Basic 6.0 22
1.3.2 Microsoft Office 24
1.4. Алгоритм нахождения оптимального решения задач линейного программирования 26
2. СПЕЦИАЛЬНАЯ ЧАСТЬ 27
2.1. Задание для курсового проекта 27
2.1.1.Приведение задачи к каноническому виду 28
2.2. Нахождение начального опорного решения (НОР) 29
2.3. Нахождение оптимального решения 30
2.4. Алгоритмы и их описание 33
2.5. Описание программы 42
2.6. Описание процесса отладки программы обработка ошибок программы 44
2.7. Инструкция пользователю 48
3.Заключение 50
4. Приложения 51
Приложение №1. Внешний вид форм 51
Приложение №2. Программный код 54
Приложение№ 3.Таблицы Excel 66
Приложение № 4.Таблицы Excel с формулами 67
Список используемой литературы: 71
Данный курсовой проект предназначен для решения задач линейного программирования. Для этого было необходимо произвести расчеты, используя ручной метод решения задачи симплекс методом, табличный процессор MS Excel из пакета программ Microsoft Office, а также необходимо было написать программу в среде Microsoft Visual Basic.
Для решения задач линейного программирования симплекс методом в любом из вышеперечисленных способов возникает ряд неудобств, например: при решении задачи вручную при подсчетах таблиц можно ошибиться и неправильно решить задачу, при решении задачи в табличном процессоре Microsoft Excel существует необходимость переписывать формулы при составлении новой таблицы, написание программы в среде Microsoft Visual Basic очень утомительное и занимает слишком много времени.
Данный курсовой проект предполагает
решение индивидуального
Существует множество форм деятельности
предприятий, которые связаны с
распределением ресурсов. Эти ресурсы
включают труд, сырье, оборудование и
денежные средства. Иногда процесс
распределения ресурсов называют программированием.
Поскольку обычно размеры ресурсов
ограничены, возникают определенные
проблемы. Если компания выпускает
продукцию нескольких видов с
использованием одного и того же оборудования
и трудовых ресурсов, то ее администрация
должна решить, какое количество продукции
каждого вида производить. Принятое
решение будет направлено на удовлетворение
определенной цели администрации. Администрация
может задать цель наладить производство
таким образом, чтобы максимизировать
общий выпуск продукции за месяц,
максимизировать время
Аналогично, если компания обладает определенным
капиталом для инвестирования ряда
проектов, распределение денежных сумм
по каждому проекту будет
В общем случае цель состоит в определении наиболее эффективного метода такого распределения ресурсов по соответствующим переменным, которое оптимизирует некоторый результат функционирования системы. Очень часто полезным инструментом в процессе распределения ресурсов являются методы моделирования. Математическим программированием называется использование математических моделей и методов для решения проблем программирования. Существует ряд различных методов, основанных на идеях математического программирования, однако мы рассмотрим только один из них, который нашел наиболее широкое применение — линейное программирование.
Линейное программирование является подходящим методом для моделирования распределения ресурсов, если цель и ограничения на ресурсы можно выразить количественно в форме линейных взаимосвязей между переменными. Этот метод включает в себя ряд шагов:
Решение задачи линейного программирования, как и любой иной математический инструмент, применяемый в теории принятия решений, является лишь одним из факторов, влияющих на конечное решение, принимаемое администрацией. Рассмотрение линейного программирования начинается с формулировки задачи.
Основная процедура является общей для формулирования всех задач линейного программирования:
Шаг 1. Определение переменных задачи, значения которых нужно получить в пределах существующих ограничений.
Шаг 2. Определение цели и ограничений на ресурсы.
Шаг 3. Описание цели через переменные задачи.
Шаг 4. Описание ограничений через переменные задачи
В своем курсовом проекте я рассчитывал задачу симплекс методом, о котором я расскажу далее.
Если задача линейного
программирования содержит более двух
переменных, то ее решение требует
применения некоторого алгебраического
метода. Принцип, лежащий в основе
решения задачи с множеством переменных,
достаточно прост. Предполагается, что
оптимальному решению соответствует
одна из крайних точек допустимого
множества. Следовательно, необходимо
провести оценку значений целевой функции
во всех крайних точках допустимого
множества и выбрать ту из них,
в которой достигается
В обычном симплекс-методе принимается предпосылка о максимизации целевой функции задачи линейного программирования в условиях системы ограничений со знаком " ". Это означает, что при реализации данного алгоритма в качестве начальной крайней точки может быть выбрано начало координат. Поиск оптимального решения всегда начинается со значения целевой функции, равного нулю.
Симплекс-метод можно
Базовую модель, с которой я работал в дальнейшем, формально можно представить следующим образом:
Максимизировать Z = с1х1 + с2x2 + ... + сnхn.
Здесь сi - константы. Данная функция максимизируется в условиях системы m линейных ограничений:
a11х1 + а12x2 + а13x3 + … + a1nxn b1
a21х1 + а22x2 + а23x3 + … + a2nxn b2
a31х1 + а32x2 + а33x3 + … + a3nxn b3
am1х1 + аm2x2 + аm3x3 + … + amnxn bm
x1 0
Данная система содержит
n переменных и m ограничений. Первая цифра
двойных индексов коэффициентов
в левой части системы
Microsoft Excel — одна из программ
пакета Microsoft Office, представляющая собой
программируемый табличный
Область применения Excel широка:
Минимальные системные требования:
Excel - программируемый табличный калькулятор. Все расчеты в Excel выполняют формулы. Формулой Excel считает все, что начинается со знака «=». Если в ячейке написать просто «1+1», Excel не будет вычислять это выражение. Однако если написать «=1+1» и нажать Enter, в ячейке появится результат вычисления выражения - число 2. После нажатия Enter формула не пропадает, ее можно увидеть снова, если сделать двойной щелчок по ячейке, или если выделить ее и нажать F2 или просто нажать Ctrl + «Апостроф». Также ее можно увидеть в панели инструментов «Строка формул», если опять же выделить ячейку. После двойного щелчка, нажатия F2 или после щелчка в строке формул, можно изменить формулу, и для завершения нажать клавишу Enter.
В формуле можно использовать различные
типы операторов (арифметические и
т. п.), текст, ссылки на ячейку или диапазон
ячеек, круглые скобки, именованные
диапазоны. Естественно, в формулах
соблюдается приоритет
Ниже я представлю пример решения задачи линейного программирования в Microsoft Excel с использованием модуля «Поиск решения»
MS Excel содержит модуль «Поиск
решения» позволяющий
Постановка задачи осуществляется посредством задания ячеек для переменных и записи формул с использованием этих ячеек для целевой функции и системы ограничений. Например, на рис 1.1 приведена постановка задачи линейного программирования с целочисленным решением.
Математическая модель этой задачи, записанная в обычной математической форме:
Целевая функция
S = 60*x1+70*x2+120*x3+130*x4
Система ограничений
1*x1+1*x2+1*x3+1*x4 ≤ 16
6*x1+5*x2+4*x3+3*x4 ≤ 110
4*x1+6*x2+10*x3+13*x4 ≤ 150
x1, x2, x3, x4 ≥ 0 - целые
В Excel математическая модель может быть представлена, в лучшем случае, в виде таблицы чисел. Размещение данных в Excel оформляется в свободном порядке, формы ввода не предусмотрены.
Рис 1 Модуль «Поиск решения» программы MS Excel
Далее, переходим к решению. Выбираем в меню «Сервис | Поиск решения». Открывается диалоговое окно «Поиск решения». Здесь указывается ячейки целевой функции, переменных и устанавливаются ограничения исходя из системы ограничений. Можно начать решение, или установить «параметры» решения (рис.1.2).