Математическое программирование-1
.pdf
МИНИСТЕРСТВО ОБРАЗОВАНИЯ
РЕСПУБЛИКИ БЕЛАРУСЬ
Белорусский национальный технический университет
Кафедра «Инженерная математика»
МАТЕМАТИЧЕСКОЕ
ПРОГРАММИРОВАНИЕ
Практикум
Минск
БНТУ
2021
МИНИСТЕРСТВО ОБРАЗОВАНИЯ РЕСПУБЛИКИ БЕЛАРУСЬ Белорусский национальный технический университет
Кафедра «Инженерная математика»
МАТЕМАТИЧЕСКОЕ ПРОГРАММИРОВАНИЕ
Практикум для студентов специальности 1-27 01 01-08 «Экономика и организация производства (приборостроение)»
Рекомендовано учебно-методическим объединением по образованию в области экономики и организации производства
Минск
БНТУ
2021
1
УДК 519.85 (075.8) ББК 18.87я7
М33
С о с т а в и т е л и:
Н. К. Прихач, Н. А. Кондратьева
П о д р е д а к ц и е й М. А. Князева
Р е ц е н з е н т ы:
канд. физ.-мат. наук, доцент В. И. Бенедиктович; лаборатория радиотомографии ИПФ НАН Беларуси
Математическое программирование: практикум для студентов М33 специальности 1-27 01 01-08 «Экономика и организация производства (приборостроение)» / сост.: Н. К. Прихач, Н. А. Кондратьева;
под ред. М. А. Князева. – Минск : БНТУ, 2021. – 157 с. ISBN 978-985-583-221-9.
Настоящий практикум создан для проведения практических и лабораторных работ по дисциплине «Математика», раздел «Математическое программирование». В нем содержатся основные теоретические сведения и примеры решения типовых задач в MICROSOFT EXCEL по темам «Линейное программирование», «Двойственные задачи линейного программирования», «Двойственный симплекс-метод», «Транспортная задача», «Матричные игры», «Задачи целочисленного программирования».
Издание предназначено для студентов экономических специальностей БНТУ. А также может быть полезно преподавателям, ведущим практические и лабораторные занятия по данному предмету.
|
УДК 519.85 (075.8) |
|
ББК 18.87я7 |
ISBN 978-985-583-221-9 |
© Белорусский национальный |
|
технический университет, 2021 |
2
СОДЕРЖАНИЕ |
|
ЗАНЯТИЕ 1. ЖОРДАНОВЫ ИСКЛЮЧЕНИЯ............................ |
5 |
1.1. Краткие теоретические сведения................................................... |
5 |
1.2. Практическая часть ......................................................................... |
6 |
1.3. Контрольные вопросы................................................................... |
12 |
1.4. Задания для самостоятельной работы ......................................... |
12 |
ЗАНЯТИЕ 2. ЛИНЕЙНОЕ ПРОГРАММИРОВАНИЕ. |
|
ОСНОВНЫЕ ПОНЯТИЯ.............................................................. |
15 |
2.1. Краткие теоретические сведения................................................. |
15 |
2.1.1. Постановка задачи линейного программирования........... |
15 |
2.1.2. Элементы линейной алгебры и геометрии |
|
выпуклых множеств...................................................................... |
16 |
2.1.3. Графический метод решения ЗЛП..................................... |
21 |
2.2. Практическая часть ....................................................................... |
22 |
2.3. Контрольные вопросы................................................................... |
29 |
2.4. Задания для самостоятельной работы ......................................... |
30 |
ЗАНЯТИЕ 3. СИМПЛЕКС-МЕТОД............................................ |
36 |
3.1. Краткие теоретические сведения................................................. |
36 |
3.2. Практическая часть ....................................................................... |
37 |
3.3. Контрольные вопросы................................................................... |
50 |
3.4. Задания для самостоятельной работы ......................................... |
50 |
ЗАНЯТИЕ 4. РЕШЕНИЕ ЗАДАЧИ ЛИНЕЙНОГО |
|
ПРОГРАММИРОВАНИЯ В MICROSOFT EXCEL ................... |
52 |
4.1. Постановка задачи......................................................................... |
52 |
4.2. Практическая часть ....................................................................... |
52 |
4.2.1. Решение данной задачи графическим методом |
|
в табличном редакторе Microsoft Excel ....................................... |
52 |
4.2.2. Решение ЗЛП в Microsoft Excel симплекс-методом......... |
54 |
4.2.3. Решение ЗЛП в Microsoft Excel с помощью |
|
встроенной функции поиск решения........................................... |
60 |
4.3. Контрольные вопросы................................................................... |
64 |
4.4. Задания для самостоятельной работы ......................................... |
64 |
|
3 |
ЗАНЯТИЕ 5. ДВОЙСТВЕННЫЕ ЗАДАЧИ ЛИНЕЙНОГО |
72 |
ПРОГРАММИРОВАНИЯ............................................................. |
|
5.1. Краткие теоретические сведения................................................. |
72 |
5.2. Практическая часть ....................................................................... |
76 |
5.3. Контрольные вопросы................................................................... |
85 |
5.4. Задания для самостоятельной работы ......................................... |
85 |
ЗАНЯТИЕ 6. ДВОЙСТВЕННЫЙ СИМПЛЕКС-МЕТОД.......... |
86 |
6.1. Краткие теоретические сведения. |
|
Анализ экономико-математической модели |
86 |
двойственной задачи............................................................................ |
|
6.2. Практическая часть ....................................................................... |
87 |
6.3. Контрольные вопросы................................................................... |
94 |
6.4. Задания для самостоятельной работы ......................................... |
95 |
ЗАНЯТИЕ 7. ЭЛЕМЕНТЫ ТЕОРИИ ИГР.................................. |
98 |
7.1. Краткие теоретические сведения................................................. |
98 |
7.2. Практическая часть ..................................................................... |
101 |
7.3. Контрольные вопросы................................................................. |
115 |
7.4. Задания для самостоятельной работы ....................................... |
116 |
ЗАНЯТИЕ 8. ТРАНСПОРТНАЯ ЗАДАЧА (ТЗ)....................... |
117 |
8.1. Краткие теоретические сведения............................................... |
117 |
8.1.1. Математическая модель закрытой |
118 |
транспортной задачи................................................................... |
|
8.1.2. Открытая транспортная задача......................................... |
120 |
(транспортная задача с нарушенным балансом) ...................... |
120 |
8.2. Практическая часть ..................................................................... |
121 |
8.3. Контрольные вопросы................................................................. |
135 |
8.4. Задания для самостоятельной работы ....................................... |
136 |
ЗАНЯТИЕ 9. МОДЕЛИ ЦЕЛОЧИСЛЕННОГО ЛИНЕЙНОГО |
|
ПРОГРАММИРОВАНИЯ........................................................... |
139 |
9.1. Краткие теоретические сведения............................................... |
139 |
9.2. Практическая часть ..................................................................... |
141 |
9.3. Контрольные вопросы................................................................. |
153 |
9.4. Задания для самостоятельной работы заданий......................... |
153 |
Список использованной литературы......................................... |
157 |
4 |
|
ЗАНЯТИЕ 1. ЖОРДАНОВЫ ИСКЛЮЧЕНИЯ
1.1. Краткие теоретические сведения
Пусть дана система линейных уравнений
a11x1 a12 x2 a1n xn b1 |
|
|
|||||||||||||
a |
x a |
22 |
x |
a |
|
x |
n |
b |
|
|
|||||
|
21 1 |
|
|
2 |
|
|
2n |
|
1 |
. |
(1.1) |
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
||||||||||||
|
|
|
|
|
|
|
|
a |
|
|
|
|
|
|
|
a |
x |
a |
m2 |
x |
|
mn |
x |
n |
b |
|
|
||||
|
m1 1 |
|
2 |
|
|
|
m |
|
|
||||||
В матрице A этой системы выберем отличный от нуля элемент apq. Этот элемент называется разрешающим элементом, q-й стол-
бец матрицы A – разрешающим столбцом, а p-я строка – разрешающей строкой.
Рассмотрим новую систему уравнений с матрицей A
|
|
|
|
|
|
|
a11x1 |
a12 x2 |
a1n xn b1 |
|
|
||
|
|
|
|
|
|
|
a21x1 |
a22 x2 |
a2n xn b1 |
. |
(1.2) |
||
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
am1x1 |
am2 x2 amn xn bm |
|
|
|||
Коэффициенты и свободные члены этой системы определяются по формулам
a |
a |
ij |
|
apjaiq |
|
|
|
|||
|
|
|
|
|
||||||
|
ij |
|
|
|
apq |
|
|
|
||
|
|
|
|
|
|
, если |
i p; j q. |
|||
|
|
|
|
|
aipbq |
|
||||
b |
b |
|
|
|
|
|
||||
|
|
|
|
|||||||
|
i |
i |
|
|
apq |
|
|
|
||
|
|
|
|
|
|
|
|
|||
Если же i p, |
то принимаем apj apj , |
bp bp. Таким образом, |
||||||||
p-е уравнения в системах (1.1) и (1.2) одинаковы, а коэффициенты при xp во всех уравнениях системы (1.2), кроме p-го, равны нулю.
5
Системы (1.1) и (1.2) одновременно совместны или несовместны. В случае совместности эти системы равносильны (их решения совпадают).
Для определения элемента aij матрицы A применяется правило
прямоугольника.
Рассмотрим четыре элемента матрицы A: aij (элемент, подлежащий преобразованию), apq (разрешающий элемент) и элементы aiq и apj . Для нахождения элемента aij следует из элемента aij вычесть произведение элементов aiq и apj , расположенных в проти-
воположных вершинах прямоугольника, деленное на разрешающий элемент apq.
Аналогичным образом можно преобразовать систему (1.2), приняв за разрешающий элемент матрицы A элемент asr 0, причем
s p; r q. После этого преобразования все коэффициенты при xr , кроме asr , обратятся в нуль. Полученная система может быть снова преобразована и т. д.
1.2. Практическая часть
Задача 1.1.
Найти решение системы:
x1 4x2 x4 5
2x1 3x2 x3 x4 3.x1 2x3 x4 3
2x2 3x3 2x4 3
6
Систему решить методом Жордано-Гаусса: 1) аналитически; 2) с помощью MS Excel.
Решение.
Запишем систему в виде жордановой таблицы.
x1 |
x2 |
x3 |
x4 |
b |
–1 |
5 |
1 |
|
4 |
0 |
|
||
2 |
|
–3 |
1 |
|
1 |
3 |
1 |
0 |
|
2 |
–1 |
|
3 |
0 |
|
2 |
–3 |
|
2 |
3 |
Подвергнемее четыремшагам жордановых исключений, получим: 1 шаг. Разрешающий столбец – 1; разрешающая строка – 3; раз-
решающий элемент a31 1. Применим правило прямоугольника.
x1 |
x2 |
x3 |
x4 |
b |
|
x1 |
|
x2 |
x3 |
x4 |
|
b |
|
0 |
4 |
–2 |
0 |
2 |
|
0 |
4 |
–2 |
0 |
|
2 |
|
|
0 |
–3 |
–3 |
3 |
–3 |
|
0 |
|
|
–3–3 |
|
3 |
|
–3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
0 |
|
2 |
–1 |
|
31 |
0 |
2 |
–1 |
|
3 |
|
|
0 |
2 |
–3 |
2 |
3 |
|
0 |
2 |
–3 |
2 |
|
3 |
|
|
2 шаг. Делим элементы разрешающей строки на –3 и опять при-
меняем правило прямоугольника. |
|
|
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
x1 |
x2 |
x3 |
x4 |
b |
|
|
x1 |
x2 |
x3 |
x4 |
b |
|
||||
|
0 |
4 |
|
–2 |
0 |
2 |
|
|
0 |
0 |
|
–6 |
4 |
–2 |
|
||
|
0 |
|
|
|
1 1 |
|
–1 |
|
1 |
|
|
|
|
01 |
1–1 |
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
1 |
0 |
|
2 |
–1 |
3 |
|
|
1 |
0 |
|
2 |
–1 |
3 |
|
||
|
0 |
2 |
|
–3 |
2 |
3 |
|
|
0 |
0 |
|
–5 |
4 |
1 |
|
||
3 шаг. В качестве разрешающего элемента выбираем a44 4. Де-
лим элементы четвертой строки на 4 и проводим еще один шаг жордановых исключений.
7
|
x1 |
x2 |
x3 |
x4 |
|
|
b |
|
|
x1 |
x2 |
|
x3 |
|
x4 |
|
b |
|
||||||||
|
0 |
0 |
–6 |
4 |
|
|
–2 |
|
–1 |
0 |
0 |
|
|
–1 |
|
0 |
|
|
–3 |
|
||||||
|
0 |
|
1 |
|
|
|
1 |
|
|
|
0 |
11 |
|
|
–1/4 |
|
0 |
|
|
5/4 |
|
|||||
|
1 |
|
0 |
|
|
|
2 |
|
|
|
–1 |
1 |
30 |
|
|
3/4 |
|
|
0 |
|
13/4 |
|
||||
|
0 |
|
0 |
|
|
|
–5 |
|
|
4 |
|
1 |
|
|
|
|
|
|
|
|
|
|
01/4 |
0 |
||
|
4 шаг. Умножаем первую (разрешающую) строку на –1. Разре- |
|
||||||||||||||||||||||||
шающий столбец – третий. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
x1 |
x2 |
x3 |
x4 |
|
|
b |
3 |
|
x1 |
x2 |
|
x3 |
|
x4 |
|
b |
31 |
||||||||
|
0 |
|
0 |
|
|
0 |
1 |
|
|
|
|
0 |
|
|
|
|
|
|
|
00 |
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
0 |
1 |
–1/4 |
0 |
|
|
5/4 |
|
|
0 |
1 |
|
|
0 |
|
|
|
0 |
|
|
2 |
|
||||
|
1 |
0 |
3/4 |
0 |
|
|
13/4 |
|
|
1 |
0 |
|
|
0 |
|
|
|
0 |
|
|
1 |
|
||||
|
0 |
0 |
–5/4 |
1 |
|
|
1/4 |
|
|
0 |
0 |
|
|
0 |
|
|
|
1 |
|
|
4 |
|
||||
|
Система имеет единственное решение x1 1; x2 |
2; x3 |
3; x4 |
4. |
|
|||||||||||||||||||||
|
Используем для решения системы MS Excel: |
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||
8
9
