ЗАДАЧИ
ЛИНЕЙНОГО ПРОГРАММИРОВАНИЯ
Методические указания
к выполнению практических и самостоятельных заданий
для студентов специальности 010101 «Математика», экономических
специальностей 080105, 080109, а также для студентов направлений
010100 «Математика», 080100 «Экономика»
очной и заочной форм обучения
Курган 2012
Кафедра экономической теории и моделирования экономических процессов
2
Содержание
Введение……………………………………………………………………….4
1 Понятие о математическом программировании (МП)……………………4
2 Классификация задач математического программирования…………….4
3 Модели линейного программирования (ЛП)……………………………..5
4 Постановка задачи линейного программирования……………………..5
4.1 Общая форма задачи линейного программирования…………….6
4.2 Стандартная форма задачи линейного программирования……...6
4.3 Каноническая форма задачи линейного программирования…….7
5 Графический способ решения задач математического
программирования…………………………………………………………………..7
6 Симплекс-метод решения задач линейного программирования……….11
6.1 Реализация алгоритма симплекс-метода………………………12
6.2 Приведение задачи ЛП к каноническому виду…………………13
6.3 Применение симплекс-метода………………………………….13
6.4 Отыскание минимума линейной функции………………………18
7 Задачи для самостоятельной работы……………………………………...18
8 Вопросы к зачету…………………………………………………………..19
Список литературы…………………………………………………………..20
3
Введение
6
4.3 Каноническая форма задачи линейного программирования
8
Изобразим графически область оптимальных планов на координатной
плоскости х1, х2 (рисунок 1).
200
180
160
140
120 A
100 B
80
C
60
40
20
0 O D
0 50 100 150
9
Далее изобразим графически выражение для прибыли от производства
х1 шкафов и х2 тумб (рисунок 2).
120
100
Z=max
80
C
х2 60 Z=20 000
40 Z=10 000
20
0
0 20 40 60 80 100
х1 Z=max
11
6.1 Реализация алгоритма симплекс-метода
12
6.2 Приведение задачи ЛП к каноническому виду
Ограничения, представленные в виде неравенств, всегда можно привести
к канонической форме, вводя дополнительные неотрицательные переменные.
Таким образом, ограничение-неравенство ai1x1 + ai2x2 + … + ainxn ≤ bi
преобразуется в ограничение-равенство ai1x1 + ai2x2 + … + ainxn + xn+1 = bi,
а ограничение-неравенство ai1x1 + ai2x2 + … + ainxn ≥ bi преобразуется в
ограничение-равенство ai1x1 + ai2x2 + … + ainxn - xn+1 = bi.
Число вводимых дополнительных неотрицательных переменных при
преобразовании ограничений неравенств в ограничения равенства равно числу
преобразуемых неравенств.
Вводимые дополнительные переменные имеют вполне определенный
экономический смысл. Так, если в ограничениях исходной задачи линейного
программирования отражаются расход и наличие производственных ресурсов,
то числовое значение дополнительной переменной равно количеству
неиспользуемого соответствующего ресурса.
13
Составим экономико-математическую модель задачи.
Обозначим х1, х2 – число единиц продукции, соответственно, Р1 и Р2,
запланированных к производству. Для их изготовления потребуется
(1*х1+3*х2) единиц ресурса S1, (2*х1+1*х2) единиц ресурса S2,
(0*х1+1*х2) единиц ресурса S3 и (3*х1+0*х2) единиц ресурса S4.
Так как потребление ресурсов S1, S2, S3, S4 не должно превышать их
запасов, соответственно 18, 16, 5 и 21 единицы, то связь между потреблением
ресурсов и их запасами выразится системой ограничений:
⎧ x1 + 3x2 ≤ 18,
⎪
⎪2 x1 + x2 ≤ 16,
⎨
⎪ x2 ≤ 5,
⎪3x ≤ 21.
⎩ 1
По смыслу задачи переменные x1 ≥ 0, x2 ≥ 0.
Суммарная прибыль Z составит 2x1 у.е. от реализации
продукции Р1 и 3x2 у.е. от реализации продукции Р2, т.е. целевая
функция Z = 2x1 + 3x2 → mаx.
Итак, экономико-математическую модель задачи: найти такой план
выпуска продукции Х = (х1, х2), удовлетворяющий системе ограничений, при
котором целевая функция принимает максимальной значение.
Решение Приведем задачу к канонической форме. Для этого с помощью
дополнительных неотрицательных переменных перейдем к системе
уравнений. В данном случае все дополнительные переменные вводятся со
знаком «плюс», так как все неравенства имеют вид «≤».
Получим систему ограничений в виде:
⎧ x1 + 3 x2 + x3 = 18,
⎪
⎪2 x1 + x2 + x4 = 16,
⎨
⎪ x2 + x5 = 5,
⎪3x + x6 = 21.
⎩ 1
Для нахождения первоначального базисного решения разобьем
переменные на две группы – основные (базисные) и неосновные (свободные).
Так как определитель, составленный из коэффициентов при
дополнительных переменных x3, x4, x5, x6, отличен от нуля, то эти переменные
можно взять в качестве основных на первом шаге решения задачи.
14
При выборе основных переменных на первом шаге необязательно
составлять определитель из их коэффициентов и проверять, равен ли он
нулю. Достаточно воспользоваться правилом:
в качестве основных переменных следует выбрать (если возможно)
такие m переменных, каждая из которых вводится только в одно из m
уравнений системы ограничений, при этом нет таких уравнений
системы, в которые не входит ни одна из этих переменных.
Дополнительные переменные удовлетворяют этому правилу. Если
выбранные по этому правилу переменные имеют те же знаки, что и
соответствующие им свободные члены в правых частях уравнений, то
полученное таким образом базисное решение будет допустимым. В данном
случае так и получилось.
⎧ x3 = 18 − x1 − 3 x2 ,
⎪
⎪ x4 = 16 − 2 x1 − x2 ,
⎨ (1)
⎪ x5 = 5 − x2 ,
⎪ x = 21 − 3 x .
⎩ 6 1
15
Поскольку необходимо сохранять допустимость решений, т.е. все
переменные должны оставаться неотрицательными, то должны выполняться
следующие неравенства (при этом x1 = 0 как неосновная переменная):
⎧ x3 = 18 − 3 x2 ≥ 0,
⎪ ⎧ x2 ≤ 18 / 3,
⎪ x4 = 16 − x2 ≥ 0, ⎪
⎨ откуда ⎨ x2 ≤ 16 /1,
⎪ x5 = 5 − x2 ≥ 0, ⎪ x ≤ 5 /1.
⎪ x = 21, ⎩ 2
⎩ 6
Каждое уравнение системы (1), кроме последнего, определяет оценочное
отношение – границу роста переменной x2, сохраняющую неотрицательность
соответствующей переменной. Эта граница определяется абсолютной
величиной отношения свободного члена к коэффициенту при x2 при условии,
что эти числа имеют разные знаки. Последнее уравнение системы не
ограничивает рост переменной x2, так как данная переменная в него не входит
(или формально входит с нулевым коэффициентом). В этом случае условимся
обозначать границу символом ∞ . Также нет ограничений на рост переменной,
когда свободный член и коэффициент при переменной в уравнении имеют
одинаковые знаки.
Очевидно, что сохранение неотрицательности всех переменных
(допустимость решения) возможно, если не нарушается ни одна из полученных
во всех уравнениях границ. В данном примере наибольшее возможное значение
переменной x2 определяется как x2 = min {18/3; 16/1; 5/1; ∞} = 5.
При x2 = 5 переменная x5 обращается в нуль и переходит в неосновные
переменные.
Уравнение, в котором достигается наибольшее возможное значение
переменной, переводимой в основные (т.е. где оценка минимальна), называется
разрешающим. В данном случае – это третье уравнение. В системе ограничений
разрешающее уравнение будем выделять рамкой.
⎧ x2 = 5 − x5 , ⎧ x2 = 5 − x5 ,
⎪ ⎪
⎪ x3 = 18 − x1 − 3(5 − x5 ), ⎪ x3 = 3 − x1 + 3 x5 ,
⎨ или ⎨ (2)
⎪ x4 = 16 − 2 x1 (5 − x5 ), ⎪ x4 = 11 − 2 x1 + x5 ,
⎪ x = 21 − 3 x , ⎪ x = 21 − 3 x .
⎩ 6 1 ⎩ 6 1
16
Второе базисное решение Х2 = (0; 5; 3; 11; 0; 21) является допустимым.
Выразив целевую функцию через неосновные переменные на этом шаге,
получаем:
Z = 2x1 + 3x2 = 2x1 + 3(5 – x5) = 15 + 2x1 - 3x5.
Значение целевой функции Z2 = Z(Х2) = 15. Изменение значения целевой
функции легко определить заранее как произведение наибольшего возможного
значения переменной, переводимой в основные, на ее коэффициент в
выражении для целевой функции.
В данном случае ΔZ1 = 5·3 = 15, Z2 = Z1 + ΔZ1 = 0 + 15 = 15.
Однако значение Z2 не является максимальным, так как возможно
увеличение целевой функции за счет роста переменной x1,
входящей в выражение для Z с положительным коэффициентом.
Система уравнений (2) определяет наибольшее возможное значение
для x1, как x1 = min {∞; 3/1; 11/2; 21/3} = 3.
Второе уравнение является разрешающим, переменная х3 переходит в
неосновные, при ΔZ2 = 3·2 = 6.
17
Третье уравнение является разрешающим, и переменная x4
переходит в неосновные. Тогда ΔZ3 = 1·3 = 3.
⎧ x1 = 6 + (1/ 5) x3 − (3/ 5) x4 ,
⎪
⎪ x2 = 4 − (2 / 5) x3 + (1/ 5) x4 ,
⎨
⎪ x5 = 1 + (2 / 5) x3 − (1/ 5) x4 ,
⎪ x = 3 − (3/ 5) x + (9 / 5) x .
⎩ 6 3 4
Z = 24 – (4/5)х3 - (3/5)x4.
Это выражение не содержит положительных коэффициентов при
неосновных переменных, поэтому значение Z4 = Z(Х4) = 24 максимальное, а
решение Х4 - оптимальное.
Таким образом, прибыль предприятия принимает максимальное
значение 24 у.е. при реализации 6 единиц продукции Р1 (х1 = 6) и 4 единиц
продукции Р2 (х2 = 4). Дополнительные переменные x3, x4, x5, x6 показывают
разницу между запасами ресурсов каждого вида и их потреблением x3 = x4 = 0,
т.е. остатки ресурсов S1 и S2 равны нулю, а остатки ресурсов S3 и S4 равны
соответственно 1 и 3 единицам.
18
В) Найти оптимальное решение задачи линейного программирования
симплексным методом.
19
9 Отыскание максимума (минимума) линейной функции.
10 Определение первоначального допустимого базисного решения.
Список литературы
20
ЛУПАШКО СВЕТЛАНА ГЕННАДЬЕВНА
ЗАДАЧИ
ЛИНЕЙНОГО ПРОГРАММИРОВАНИЯ
Методические указания
к выполнению практических и самостоятельных заданий
для студентов специальности 010101 «Математика», экономических
специальностей 080105, 080109, а также для студентов направлений
010100 «Математика», 080100 «Экономика»
очной и заочной форм обучения
21