Линейное программирование
Автор работы: Пользователь скрыл имя, 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
Прикрепленные файлы: 1 файл
Курсовой прект матметоды.docx
— 658.47 Кб (Скачать документ)Используя стандартные для отрасли языки программирования и технологии в сочетании с сотнями эффективных, заранее подготовленных компонентов, группа разработчиков способна создавать и развертывать бизнес решения быстрее, чем когда-либо прежде. Привычный интерфейс позволяет конечным пользователям сразу применять новые средства.
Microsoft Excel
Это программа управления электронными таблицами общего назначения, которая используется для вычислений, организации и анализа деловых данных. С Excel можно решать множество задач - от подготовки простейших счетов или планирования семейного бюджета до создания сложных трехмерных диаграмм или ведения бухгалтерского учета в фирмах средней величины.
Microsoft Word
Microsoft Word – это текстовый процессор предназначен для создания просмотра и редактирования текстовых документов, с локальным применением простейших форм таблично - матричных алгоритмов, относящийся к семейству Microsoft.
При работе с Ms Word мной были использованы следующие функции:
- колонтитулы
- форматирование шрифтов
- межстрочный интервал
- создание оглавление
- списки
- панель рисования (для создания алгоритмов)
1.4. Алгоритм
нахождения оптимального решения
задач линейного программирования
Для того чтобы решить задачу симплексным методом (методом последовательного улучшения плана), необходимо выполнить следующее:
- Привести задачу линейного программирования к каноническому виду.
- Найти начальное опорное решение с базисом из единичных векторов и коэффициенты разложений векторов условий по базису опорного решения (если опорное решение отсутствует, то задача не имеет решения в силу несовместности системы ограничений).
- Вычислить оценки разложений векторов условий по базису опорного решения и заполнить симплексную таблицу.
- Если выполняется признак единственности оптимального решения, то решение задачи заканчивается.
- Если выполняется условие существования множества оптимальных решений, то путем простого перебора находят все оптимальные решения.
- Если выполняется условие отсутствия оптимального решения вследствие неограниченности целевой функции, то задача не имеет решения.
- Если пункты №4-№6 алгоритма не выполняются, находят новое опорное решение с использованием условия наискорейшего нахождения оптимального решения и возвращаются к пункту №3
2. СПЕЦИАЛЬНАЯ ЧАСТЬ
2.1. Задание для курсового проекта
Данный курсовой проект был разработан
на основе следующей системы уравнений-
2x1+3x2-2x3+5x4+3x5<=3
5x1+x2+4x3-3x4-4x5<=3
-7x1+10x2-22x3-x4+34x5+3x6+3x7
и значения целевой функции:
F(x) = x1-5x2-6x3-4x4-3x5+2x6-4x7→ max
Используя данное условие, можно найти начальное опорное решение, но для начала данную систему уравнений нужно привести к каноническому виду.
2.1.1.Приведение задачи к каноническому
виду
Приведем задачу к каноническому
виду. Для этого в левую часть
первого ограничения-
2x1+3x2-2x3+5x4+3x5+0x6+0x7+x8
5x1+1x2+4x3-3x4-4x5+0x6+0x7+0x
-7x1+10x2-22x3-1x4+34x5+3x6+3x
F(x) = 1x1-5x2-6x3-4x4-3x5+2x6-4x7+0x
2.2. Нахождение начального опорного решения (НОР)
Исходя из канонического вида задачи, можно найти начальное опорное решение для неё:
2x1+3x2-2x3+5x4+3x5+0x6+0x7+x8
5x1+1x2+4x3-3x4-4x5+0x6+0x7+0x
-7x1+10x2-22x3-1x4+34x5+3x6+3x
F(x) = 1x1-5x2-6x3-4x4-3x5+2x6-4x7+0x
Xij>0
НОР: х1,х2,х3,х4,х5,х6,x7=0
х8=3
х9=3
х10=25
F (x) =0
2.3. Нахождение оптимального решения
Для проверки правильности
автоматического расчета в
Затем рассчитываем:
- Значение целевой функции по формуле:
F = A01*Сб1+ A02*Сб2+ ..А0n*Cбn
F=3*0+3*0+25*0=0
2. Значения элементов целевой строки по формуле.
Yn=An1*Cбn+An2*Cбn+…Anm*Cбn
Y1 = 2*0+3*0+2*0+1*0=0 ????
Таким же способом рассчитываем остальные элементы.
3. Так как значения равны нулю,
то вводим строку «К» с
Высчитываем его по формуле:
K1=0-1=-1 K2=0+5=5 K3=0+6=6 K4=0+4=4 K5=0+3=3 K6=0-2=-2 и т.д.
4. Выбираем столбец А6 так как он по модулю больше всех остальных отрицательных чисел
5. Теперь мы выбираем строку, по следующим формулам:
Q1=3/2=1.5
Q2=3/5=0.6
Q3=25/-7=3.57
6. Выбираем строку с минимальным значением по Q.
7.
На пересечении генерального
столбца и ключевой строки
и будет находиться
Итерация 1 |
||||||||||||
Cбаз |
Базис план |
План X0 |
1,00 |
-5,00 |
-6,00 |
-4,00 |
-3,00 |
2,00 |
-4,00 |
0,00 |
0,00 |
0,00 |
A1 |
A2 |
A3 |
A4 |
A5 |
A6 |
A7 |
A8 |
A9 |
A10 | |||
0,00 |
A8 |
3,00 |
2,00 |
3,00 |
-2,00 |
5,00 |
3,00 |
0,00 |
0,00 |
1,00 |
0,00 |
0,00 |
0,00 |
A9 |
3,00 |
5,00 |
1,00 |
4,00 |
-3,00 |
-4,00 |
0,00 |
0,00 |
0,00 |
1,00 |
0,00 |
0,00 |
A10 |
25,00 |
-7,00 |
10,00 |
-22,00 |
-1,00 |
34,00 |
3,00 |
3,00 |
0,00 |
0,00 |
1,00 |
Zk |
0,00 |
0,00 |
0,00 |
0,00 |
0,00 |
0,00 |
0,00 |
0,00 |
0,00 |
0,00 |
0,00 | |
dk |
-1,00 |
5,00 |
6,00 |
4,00 |
3,00 |
-2,00 |
4,00 |
0,00 |
0,00 |
0,00 | ||
Таб 1 Первый шаг расчета
Итерация 2 |
||||||||||||
Cбаз |
Базис план |
План X1 |
1 |
-5 |
-6 |
-4 |
-3 |
2 |
-4 |
0 |
0 |
0 |
A1 |
A2 |
A3 |
A4 |
A5 |
A6 |
A7 |
A8 |
A9 |
A10 | |||
0 |
A8 |
3 |
2 |
3 |
-2 |
5 |
3 |
0 |
0 |
1 |
0 |
0 |
0 |
A9 |
3 |
5 |
1 |
4 |
-3 |
-4 |
0 |
0 |
0 |
1 |
0 |
2 |
A6 |
8,333 |
-2,33 |
3,333 |
-7,33 |
-0,33 |
11,33 |
1 |
1 |
0 |
0 |
0,333 |
Zk |
23.17 |
16,67 |
-4,67 |
6,667 |
-14,7 |
-0,67 |
22,67 |
2 |
2 |
0 |
0 | |
dk |
0,29 |
-3,14 |
-5,67 |
11,67 |
-8,67 |
3,333 |
25,67 |
0 |
6 |
0 | ||
Таб 2 Второй шаг расчета
Итерация 2 |
||||||||||||
Cбаз |
Базис план |
План X1 |
1 |
-5 |
-6 |
-4 |
-3 |
2 |
-4 |
0 |
0 |
0 |
A1 |
A2 |
A3 |
A4 |
A5 |
A6 |
A7 |
A8 |
A9 |
A10 | |||
0 |
A8 |
4,5 |
4,5 |
3,5 |
0 |
3,5 |
1 |
0 |
0 |
1 |
0,5 |
0 |
-6 |
A3 |
0,75 |
1,25 |
0,25 |
1 |
-0,75 |
-1 |
0 |
0 |
0 |
0,25 |
0 |
2 |
A6 |
13,83 |
6,833 |
5,167 |
0 |
-5,83 |
4 |
1 |
1 |
0 |
1,83 |
0,333 |
Zk |
23,17 |
6,167 |
8,833 |
-6 |
-7,17 |
14 |
2 |
2 |
0 |
2,17 |
0,667 | |
dk |
5,167 |
13,83 |
0 |
-3,17 |
17 |
0 |
6 |
0 |
2,17 |
0,667 | ||
Таб 3 Третий шаг расчета
Итерация 3 |
||||||||||||
Cбаз |
Базис план |
План X3 |
1 |
-5 |
-6 |
-4 |
-3 |
2 |
-4 |
0 |
0 |
0 |
A1 |
A2 |
A3 |
A4 |
A5 |
A6 |
A7 |
A8 |
A9 |
A10 | |||
-4 |
a4 |
1,286 |
1,286 |
1 |
0 |
1 |
0,286 |
0 |
0 |
0,286 |
0,14 |
0 |
-6 |
a3 |
1,714 |
2,214 |
1 |
1 |
0 |
-0,79 |
0 |
0 |
0,214 |
0,36 |
0 |
2 |
a6 |
21,33 |
14,33 |
11 |
0 |
0 |
5,667 |
1 |
1 |
1,667 |
2,67 |
0,333 |
Zk |
27,24 |
10,24 |
12 |
-6 |
-4 |
14,9 |
2 |
2 |
0,905 |
2,62 |
0,667 | |
dk |
9,238 |
17 |
0 |
0 |
17,9 |
0 |
6 |
0,905 |
2,62 |
0,667 | ||
Таб 4 Четвертый шаг расчета