
- •§7 Решение задач линейного программирования 58
- •Предисловие
- •§ 1. Численное интегрирование
- •1. Постановка задачи.
- •2. Метод прямоугольников.
- •Задача 1.
- •Задача 2
- •Задача 3
- •3. Метод трапеций.
- •4. Метод Симпсона.
- •5. Практическая работа на эвм
- •§ 2. Решение систем линейных уравнений
- •1. О системах линейных уравнений.
- •2. Решение систем линейных уравнений с двумя неизвестными по формулам Крамера.
- •Пример 1.
- •3. Решение систем линейных уравнений с тремя неизвестными по методу Крамера.
- •4. Решение систем линейных уравнений способом Гаусса.
- •5. Практическая работа на эвм
- •2. Интерполяционный многочлен Лагранжа
- •Пример 2.
- •З Рис 3.1 адача 1.
- •Алгоритм:
- •Задача 2.
- •3. Вычисление приближенного значения функции с помощью электронных таблиц
- •Пример 3
- •Задача 3
- •§ 4. Простейшие задачи статистики
- •1. Вычисление средних.
- •2. Математическое ожидание, дисперсия, среднее квадратичное отклонение, точность оценки математического ожидания, показатель достоверности вычисления математического ожидания
- •3. Практическая работа на эвм
- •§ 5. Численные методы решения трансцендентных уравнений
- •1. Введение
- •Пример 1.
- •Теорема
- •2. Метод половинного деления
- •Алгоритм отделения корней
- •Алгоритм уточнения корней
- •3. Практическая работа на эвм.
- •4. Лабораторная работа
- •Ход работы
- •§6 Численные методы решения дифференциальных уравнений
- •1. О некоторых задачах приводящих к дифференциальным уравнениям Задача 1
- •Задача 2
- •Задача 3
- •2. Несколько определений
- •Пример 1
- •Пример 2
- •Задачи для самостоятельного решения.
- •3. Постановка задачи численного решения дифференциального уравнения
- •4. Метод Эйлера.
- •Пример 1
- •Пример 2
- •5. Метод Рунге-Кутта второго порядка (Метод Эйлера-Коши)
- •6. Метод Рунге-Кутта 4 порядка
- •7. Лабораторная работа. Численное решение обыкновенного дифференциального уравнения первого порядка
- •§7 Решение задач линейного программирования
- •1. Введение
- •2. Основные методы решения задач оптимизации
- •Общий случай задачи оптимизации
- •Задачи оптимизации, алгоритмы которых могут быть реализованы с помощью электронных таблиц
- •Основные этапы работ при решении задачи оптимизации
- •4. Задачи линейного программирования. Методы решения задач.
- •Пример.
- •Основные положения симплекс-метода
- •5. Решение задач линейного программирования с помощью ms Excel Пример 1
- •Решение:
- •Решение задачи
- •Пример 2
- •Решение:
- •6. Практическая работа 1
- •7. Транспортная задача Введение
- •Решение
- •Решение:
- •Составление математической модели
- •Решение задачи
- •8. Практическая работа 2
- •Приложения Приложение 1. Численное интегрирование. Варианты самостоятельных работ
- •Приложение 2. Численное интерполирование. Варианты самостоятельных работ
- •Приложение 3. Численное дифференцирование. Варианты лабораторных работ
- •Приложение 4. Задачи оптимизации. Варианты самостоятельных работ
- •Приложение 5. Транспортная задача. Варианты самостоятельных работ
- •Литература.
Основные положения симплекс-метода
Для аналитического решения задач линейного программирования разработан специальный алгоритм направленного перебора вершин ОРД (области допустимых решений). Этот алгоритм обеспечивает переход от одной вершины к другой в таком направлении, при котором значение целевой функции от вершины к вершине улучшается. В геометрии есть такое понятие, как «симплекс». Симплексом тел в К-мерном пространстве называется совокупность (К+1) его вершин. Так, для плоскости при К=2 симплексом будут 3 вершины треугольника. При К=3 – 4 вершины четырехгранника и т.д. С учетом этого понятия аналитический метод решения задач линейного программирования называется симплекс-метод. Вычисления, обеспечивающие определение значения ЦФ и переменных в одной вершине называются итерацией.
5. Решение задач линейного программирования с помощью ms Excel Пример 1
Требуется определить, в каком количестве надо выпускать продукцию четырех типов Прод1, Прод2, Прод3, Прод4, для изготовления которой требуются ресурсы трех видов: трудовые, сырье, финансы. Количество ресурса каждого вида, необходимое для выпуска единицы продукции данного типа, называется нормой расхода. Нормы расхода, наличие располагаемого ресурса, а также прибыль, получаемая от реализации единицы каждого типа продукции, приведены в таблице:
|
A |
B |
C |
D |
E |
F |
G |
|
Ресурс |
Прод1 |
Прод2 |
Прод3 |
Прод4 |
знак |
Наличие |
|
Прибыль |
60 |
70 |
120 |
130 |
max |
— |
|
Трудовые |
1 |
1 |
1 |
1 |
<= |
16 |
|
Сырье |
6 |
5 |
4 |
3 |
<= |
110 |
|
Финансы |
4 |
6 |
10 |
13 |
<= |
100 |
Решение:
Составим математическую модель, для чего введем следующие обозначения:
xj – количество выпускаемой продукции j-ого типа, j=1, 2, 3,4;
bi – количество располагаемого ресурса i -ого вида, i =1, 2, 3;
aij – норма расхода i -ого ресурса для выпуска единицы продукции j-ого типа;
cj – прибыль, получаемая от реализации единицы продукции j-ого типа.
Для выпуска единицы Прод1 требуется 6 единиц сырья, значит, для выпуска всей продукции Прод1 требуется 6х1 единиц сырья, где х1 – количество выпускаемой продукции Прод1. С учетом того, что для других видов продукции зависимости аналогичны, ограничение по сырью будет иметь вид: 6х1+5х2+4х3+3х4110.
В этом ограничении левая часть равна величине потребного ресурса, а правая показывает количество имеющего ресурса.
Аналогично можно составить ограничения для остальных ресурсов и написать зависимость для целевой функции. Тогда математическая модель задачи будет иметь вид:
(7.11)
Создание формы для ввода условий задачи. Для данной задачи создать форму для ввода как на рис 7.7. Весь текст на этом рисунке является комментариями, и на решение задачи не повлияет.
|
A |
B |
C |
D |
E |
F |
G |
H |
|||
1 |
|
Переменные |
|
|
|
||||||
2 |
Имя |
Прод1 |
Прод2 |
Прод3 |
Прод4 |
|
|
|
|||
3 |
Значение |
|
|
|
|
|
|
|
|||
4 |
Нижн. гр. |
|
|
|
|
|
|
|
|||
5 |
Верх. гр. |
|
|
|
|
ЦФ |
Направление |
|
|||
6 |
Коэф. в ЦФ |
|
|
|
|
|
|
|
|||
7 |
|
Ограничения |
|
|
|
||||||
8 |
Вид ресурсов |
|
|
|
Лев. часть |
Знак |
Прав. часть |
||||
9 |
Трудовые |
|
|
|
|
|
|
|
|||
10 |
Сырье |
|
|
|
|
|
|
|
|||
11 |
Финансы |
|
|
|
|
|
|
|
Рис 7.7
Ввод исходных данных. Ввести исходные данные в форму согласно условию задачи (Рис 7.8).
|
A |
B |
C |
D |
E |
F |
G |
H |
|||
1 |
|
Переменные |
|
|
|
||||||
2 |
Имя |
Прод1 |
Прод2 |
Прод3 |
Прод4 |
|
|
|
|||
3 |
Значение |
|
|
|
|
|
|
|
|||
4 |
Нижн. гр. |
0 |
0 |
0 |
0 |
|
|
|
|||
5 |
Верх. гр. |
|
|
|
|
ЦФ |
Напр |
|
|||
6 |
Коэф. в ЦФ |
60 |
70 |
120 |
130 |
0 |
макс |
|
|||
7 |
|
Ограничения |
|
|
|
||||||
8 |
Вид ресурсов |
|
|
|
Лев. часть |
Знак |
Прав. часть |
||||
9 |
Трудовые |
1 |
1 |
1 |
1 |
0 |
<= |
16 |
|||
10 |
Сырье |
6 |
5 |
4 |
3 |
0 |
<= |
110 |
|||
11 |
Финансы |
4 |
6 |
10 |
13 |
0 |
<= |
100 |
Рис 7.8
Ввод зависимостей из математической модели. Ввести зависимости из математической модели (7.11). В режиме представления формул это будет выглядеть как на рис 7.9
|
A |
B |
C |
D |
E |
F |
G |
H |
1 |
|
Переменные |
|
|
|
|||
2 |
Имя |
Прод1 |
Прод2 |
Прод3 |
Прод4 |
|
|
|
3 |
Значение |
|
|
|
|
|
|
|
4 |
Нижн. гр. |
0 |
0 |
0 |
0 |
|
|
|
5 |
Верх. гр. |
|
|
|
|
ЦФ |
Напр |
|
6 |
Коэф. в ЦФ |
60 |
70 |
120 |
130 |
=СУММПРОИЗВ(B$3:E$3;B6:E6) |
|
|
7 |
|
|
|
|
|
|
|
|
8 |
Вид ресурсов |
Ограничения |
Лев. часть |
Знак |
Прав. часть |
|||
9 |
Трудовые |
1 |
1 |
1 |
1 |
=СУММПРОИЗВ(B$3:E$3;B9:E9) |
<= |
16 |
10 |
Сырье |
6 |
5 |
4 |
3 |
=СУММПРОИЗВ(B$3:E$3;B10:E10) |
<= |
110 |
11 |
Финансы |
4 |
6 |
10 |
13 |
=СУММПРОИЗВ(B$3:E$3;B11:E11) |
<= |
100 |
Рис 7.9
Назначение целевой функции, ввод ограничений и граничных условий. Вызвать диалоговое окно Поиск Решения: Сервис-Поиск решения… (рис 7.10)
Рис 7.10
Назначить целевую функцию: $F$6
Ввести адреса искомых переменных: $B$3:$E$3
Ввести ограничения, нажав кнопку Добавить. Появиться диалоговое окно Добавление ограничения (рис 7.11)
Рис 7.11
Ввести граничные условия: $B$3:$E$3$B$4:$E$4
Ввести ограничения: $F$9:$F$11$H$9:$H$11