Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Транспортная логистика (линейное программирование). Учебное пособие

.pdf
Скачиваний:
0
Добавлен:
08.09.2026
Размер:
2 Мб
Скачать
☆
2.1. Задачи линейного программирования
{ }
0,1 , , 1,...,
x ij n∈=
{ }
, 1,...,ij n∀∈
,,
11
max
nn
ij ij
ij
cx
= =
→
∑∑
xX
,
F min , , .
ij ij
i Ij J
c x i kj h
∈
∈∈
= ⋅ ≠≠
∑
,
ij
бинарности переменных x
, означает выполнение требования
.
ij
На практике встречаются задачи о назначениях,
в постановках которых параметр c
,
ij
по­нимается как эффективность выполнения работы jис- полнителем i. Вэтих случаях нужно так распределить работы между исполнителями, чтобы суммарная эф­фективность была максимальной:
,
где максимум ищется при указанных в(2.5) ограниче­ниях.
2.1.4. Кратчайшие пути
Для заданного графа транспортной сети, каждому ребру x требуется найти кратчайший путь изпункта kв пунктh, сумма весов рёбер которого минимальна.
следующие обозначения:
x
– ребро графа, исходящее из вершины i и входящее
ij
ввершину j; c
— вес ребра графа;
ij
F— целевая функция; n– число вершин графа; m– число ребер графа;
Требуется найти минимальное значение целевой функ-
ции 𝐹:
которого соответствует определенный вес cij,
ij
Для формализованной постановки задачи введем
Математическая постановка задачи следующая.
— 31 —
2. Модели задач линейного программирования
=∈≠∈ ≠
=∈≠∈ ≠
x k nk
= = −
1
i
x h nh
{ }
0,1 ,
x ij∈≠
0, .
ij
c ij= =
1
1
ij
x
∑
j
Вусловиях:
n
0,  1,..., ,
kj
1
=
n
1, , , , ,
x i Ii kj Jj h
ij
∑
1
=
i
n
1, , , , ,
x i Ii kj Jj h
ij
∑
1
=
j
{ }
— заданный номер пункта
отправления,
n
0,  1,..., ,
∑
=
= =
ih
{ }
— заданный номер пункта
назначения,
ij
,
Здесь: первое ограничение— число ребер, исходя-
щих извершины, неможет превышать
; второе огра- ничение — число ребер, входящих в вершины, не мо­жет превышать
; третье ограничение— вначальную вершину нет входящих ребер; четвертое ограниче­ние— изконечной вершины нет исходящих ребер; пя- тое ограничение— переменная задачи
принимает значение 0, если ребро не включается в кратчайший путь, 1 — если включается; шестое ограничение — граф кратчайшего пути не должен содержать петель ициклов.
Для заданного взвешенного связного графа транс­портной сети, каждому ребру x определенный вес c сумма весов рёбер которого минимальна.
2.1.5. Минимальный остов сети
которого соответствует
, требуется найти остовное дерево,
ij
— 32 —
ij
2.1. Задачи линейного программирования
ij
x
j
ij
c F
1
1,
n
ij
j
xn
=
≤−
∑
1
2,
m
ij
i
x=≤
∑
{ }
0,1 .
∈
1n −
Прикладная задача поиска минимального остовно­го дерева возникает, когда необходимо проложить раз- ветвленную сеть коммуникаций (дорог, линий связи, линий электропередач, логистических цепей) мини- мальной длины, соединяющую n заданных объектов, между которыми могут быть промежуточные объекты.
Введем следующие обозначения:
— ребро графа, исходящее из вершины i ивходя-
щее ввершину
;
— вес ребра графа;
— целевая функция;
n– число вершин графа; m– число ребер графа.
Математическая постановка задачи следующая. Требуется найти минимальное значение целевой функ-
ции 𝐹:
,
nm
F c x min
= ⋅→
∑
1, 1
= =
ij
ij ij
,
Вусловиях:
mn
∑∑
ji
11
= =
x
xn
ij
ij
= −
1;
Здесь: первое ограничение — число ребер, инци­дентных каждой вершины, неможет превышать
; второе ограничение — каждое ребро может быть инцидентно только двум вершинам; третье
— 33 —
2. Модели задач линейного программирования
1n −
ij
x
... ,
+ ++ ≤
11 2 2
... .
nn
F cx cx c x= + ++
( )
12
, ,...,
T
n
xx x=x
0,  1, ,
x jn≥=
ограничение— остовное дерево должно содержать ров­но задачи
ребер; четвертое ограничение — переменная
принимает значение 0, если ребро невклю-
чается востовное дерево, 1— если включается.
Требование целочисленности переменных приво­дит к принципиальному изменению не только харак­тера задач, нои возможных методов ихрешения. Впо­собии рассмотрены некоторые практические приемы решения задач целочисленного линейного программи­рования (ЗЦЛП). Изучение математических проблем решения ЗЦЛП невходит взадачи настоящего учебно­го пособия.
2.2. Формы записи задач
линейного программирования
Рассмотренные выше примеры задач линейного программирования позволяют сформулировать общую задачу линейного программирования.
Дана система mлинейных уравнений инеравенств сn переменными:
ax ax ax b
Илинейная функция:
11 1 12 2 1 1
ax ax ax b
+ ++ =
21 1 22 2 2 2
 
..................................
 
+ ++ ≤
ax ax a x b
12
m n n n mn n m
... ,
nn
nn
... .
(2.6)
Необходимо найти такое решение системы
(2.7)
, где:
j
— 34 —
2.2. Формы записи задач линейного программирования
F
min ,
jj
a x bi m
( )
12
, ,...,
T
n
xx x=x
( )
12
, ,..., .
T
n
cc c=c
0,  1, 
x jn≥=
при котором линейная функция F (2.7) принимает экс­тремальное (максимальное или минимальное) значение.
Система (2.6) называется системой условий или
ограничений, афункция
— линейной функцией, ли-
нейной формой, целевой функцией или функцией цели.
Более кратко общую задачу линейного программи-
рования можно представить вследующем виде:
n
F cx
= ⋅
∑
x
1
j
=
при ограничениях:
n
⋅≤ =
ij j i
∑
1
=
j
x jn
j
, 1,
0,  1, .
≥=
,
вию (2.6), при котором линейная функция (2.7) прини­мает максимальное или минимальное значение, называ­ется оптимальным решением или планом, наилучшим покритерию оценки, заданному показателями:
вый термин используется, когда речь идет о матема­тической стороне задачи, а второй — когда речь идет опредметной стороне задачи (экономической или тех­нологической).
и система ограничений (2.6) состоит только из нера- венств — то задача линейного программирования называется стандартной; если система ограничений состоит только изуравнений, тозадача называется ка­нонической.
Решение
, удовлетворяющее усло-
Термины «решение» и«план»— синонимы. Пер-
Если все переменные неотрицательные
— 35 —
j
,
2. Модели задач линейного программирования
F
     
aa a
aa a
aa a
     
 
     
1
2
n
c
c
c
  
=
 

c
Для изучения свойств задач линейного программи­рования и методов ихрешения целесообразно рассмо­треть матричную форму записи.
2.3. Матричная модель задачи линейного программирования
Введем следующие обозначения:
— скалярная целевая функция;
x
1
x
2
=
x
рования;
=
A
— переменные задачи линейного программи-
x
n
11 2 1
21 22 2
 
n
n
 — матрица условий (постоян-
12
n n nn
ных технологических или экономических параметров задачи);
b
1
b
2
=
b
 — вектор ограничений (постоянных ограни-
b
n
ченных ресурсов задачи);
— вектор показателей качества (весов перемен-
ных вцелевой функции задачи).
— 36 —
2.4. Решение систем линейных уравнений
c
( )
( )
F min . 2.8
x
{ }
X : , 0,= ≤≥
X
x
mn×
c
+ ++ =
В принятых обозначениях матричная форма за-
писи задачи линейного программирования следующая.
Для известных матриц постоянных технологиче-
ских иэкономических параметров задачи А, bи
тре-
буется найти минимальное значение целевой функции:
= ⋅
T
cx (2.8)
R
∈
При ограничениях:
где
— множество допустимых решений задачи.
x Ax b x (2.9)
Здесь предполагается совместимость размерностей
А,
, bи c. Например, если в(2.9) А– (
)-матрица,
то х — n-мерный вектор-столбец, b – m-мерный век­тор-столбец,
T
— n-мерный вектор-строка.
Любая задача линейного программирования мо­жет быть сведена к стандартной, канонической или обшей задаче вматричной форме записи, для решения которых можно применять богатый арсенал
9
линейной
алгебры, теории графов иматричного анализа.
2.4. Решение систем линейных уравнений
Рассмотрим систему плинейных уравнений сп не­известными
определенными):
x (такие системы уравнений называются
i
ax ax ax b
11 1 12 2 1 1
 
ax ax ax b
+ ++ =
11 22
n n nn n n
nn
,
(2.10)
.
9
Арсенал— совокупность инструментов, средств иметодов, при-
меняемых для решения какой-либо задачи.
— 37 —
2. Модели задач линейного программирования
ij
a
j
x
aa a
aa a
aa a

=Ax b
A
ij
a
j
x
j
x
aa a
aa a
aa a
     

     
     
( )
det 0≠A
rang n=A
1−
A
11 1
−− −
⋅⋅= ⋅ ⋅= ⋅A AxA bIxA b
Определитель матрицы А, составленной из коэф-
фициентов
при неизвестных
, называют опреде-
лителем системы (2.10):
11 12 1
det
( )
Решить систему уравнений (2.10) можно различ-
21 22 2
=A
n n nn
12
a
n
n
. (2.11)
ij
ными методами. Матричный аппарат позволяет найти решение линейной системы уравнений методом об- ратной матрицы.
Систему плинейных уравнений сп неизвестными
(2.10) можно компактно записать вматричном виде:
где: изкоэффициентов
— квадратная матрица порядка n, составленная
при неизвестных
x— вектор-столбец неизвестных переменных
, (2.12)
;
задачи;
b— вектор-столбец правых частей уравнения.
В развернутом виде введенные обозначения ма-
триц ивекторов принимают следующий вид:
A
11 12 1
21 22 2
=
n n nn
12
 
a
n
n
ij
,
x
1
x
2
=
x
,
x
n
b
1
b
2
=
b
.
b
n
Если А– невырожденная матрица (ее определитель
) иранг матрицы обратная матрица тричные соотношения:
, тосуществует
. Вэтом случае имеют место ма-
, .
— 38 —
2.4. Решение систем линейных уравнений
10 0 01 0
00 1
  
1−
= ⋅xA b
+ ++ =
11 2 2 n
xx x+ +…+ =
n
aa a b
11
21
1
1m
a
a
a
  
=
 

a
12
22
2
2m
a
a
a
  
=
 

a
a
     
b
     
Сучетом того, что единичную матрицу I:
1
−
⋅==A AI
,
можно незаписывать, решение системы (2.10) можно представить вкомпактном виде:
. (2.13)
Таким образом, соотношение (2.13) лежит воснове решения системы уравнений (2.10) или (2.12) методом обратной матрицы.
Рассмотрим систему т линейных уравнений с п неизвестными (при т < п такие системы называются
неопределенными):
,
(2.14)
.
ax ax ax b
11 1 12 2 1 1
 
ax ax ax b
+ ++ =
11 22
m m mn n m
nn
или ввекторной записи:
,
где
12n
a
,
, …,
a
n
n
=
,
a
mn
1
b
2
=
b
b
m
— со-
ответствующие системе уравнений (2.14) вектор-столб­цы.
Запишем расширенную матрицу этой системы ввиде:
— 39 —
2. Модели задач линейного программирования
aa a b
12
a a ab
a a ab
a a ab
     
11 12 1 1
21 22 2 2
n
n
a a ab
a a ab
  
=
A
11 12 1 1
21 22 2 2
n
n
a a ab
a a ab
  
=
A
   
A
12
11 12 1 1
21 22 2 2
=
   
n
n
n
m m mn m
Элементарными преобразованиями системы (2.14)
(или матрицы
) называются следующие преобразова-
ния:
• перестановка любых двух уравнений;
• умножение обеих частей одного из уравнений
налюбое отличное отнуля число;
• прибавление к обеим частям одного уравнения соответствующих частей другого, умноженных налю­бое число, отличное отнуля;
• вычеркивание нулевой строки (уравнения снуле­выми коэффициентами исвободным членом, равным 0).
Легко проверить, что элементарные преобразова­ния переводят данную систему уравнений в эквива- лентную систему.
Две системы линейных уравнений называются эк- вивалентными, или равносильными, если каждое ре­шение первой системы (если они существуют) является решением второй, инаоборот. Соответствующие расши­ренные матрицы также называются эквивалентными.
При практическом решении системы линейных уравнений [8, 25, 28], например, методом Жорда-
на-Гаусса, над строками матрицы выполняют элементарные преобразования, так что не­которое неизвестное исключается из всех уравнений, кроме одного, ив составе расширенной матрицы фор- мируется единичная матрица.
— 40 —
последовательно