Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Системный анализ. Учебное пособие для бакалавров и специалистов
.pdf
21
2 xxF
2446
321
xxx
433
421
xxx
33
521
xxx
0jx
5,1j
j
x
5,1j
524,0,0,53,5180X
5390XF
0
X
0
X
5181x
31x
41x
;5,10
,3
,33
,433
,2446
max,2
1
521
421
321
21
jx
x
xxx
xxx
xxx
xxF
I
j
.5,10
,4
,33
,433
,2446
max,2
1
521
421
321
21
jx
x
xxx
xxx
xxx
xxF
II
j
23,29,0,23,31IX
2151IXF
2
x
12x
22x
на каждом шаге выбирается та вершина, для которой значение
функции является наибольшим. Если на некотором шаге будет
получен план, имеющий только целочисленные компоненты, и
значение ЦФ на нем окажется больше или равно значению ЦФ в
других возможных для ветвления вершинах, то данный план является
оптимальным планом исходной задачи целочисленного
программирования и значение ЦФ на нем является оптимальным.
Пример. Методом ветвей и границ найти решение задачи,
состоящей в определении максимального значения функции
при условиях
,
,
Решение. Находим решение сформулированной задачи
симплексным методом без учета условия целочисленности
переменных. В результате устанавливаем, что такая задача имеет
оптимальный план
являются дробными числами, то
целочисленности и, следовательно, не является оптимальным планом
исходной задачи.
Возьмем какую-нибудь переменную, значение которой является
дробным числом, например
оптимальном плане исходной задачи будет принимать значение либо
Задача (I) имеет оптимальный план
котором значение ЦФ
Исследуем задачу (I). Так как среди компонент оптимального плана
этой задачи есть дробные числа, то для одной из переменных,
например
,
. Так как в плане
(
),
– целые (
значения трех переменных
не удовлетворяет условию
. Тогда эта переменная в
, либо
.
. Задача (II) неразрешима.
, вводим дополнительные ограничения:
. Рассмотрим теперь следующие две задачи:
51
).
. При этом плане
, на
либо

;5,10
,1
,3
,33
,433
,2446
max,2
2
1
521
421
321
21
jx
x
x
xxx
xxx
xxx
xxF
III
j
.5,10
,2
,3
,33
,433
,2446
max,2
2
1
521
421
321
21
jx
x
x
xxx
xxx
xxx
xxF
IV
j
3,3,2,1,32IIIX
72IIIXF
3,3,2,1,3*X
7
max
F
mi ,1
iv
i
ic
0v
1ix
i
0ix
i
m
i
vixiv
1
0
1,0ix
Задача (IV) разрешима, а задача (III) имеет оптимальный план
, на котором значение ЦФ
Таким образом, задача целочисленного программирования имеет
оптимальный план
принимает максимальное значение
Частный случай целочисленного программирования – булево,
когда каждая переменная в задаче может принимать только 2
значения: да/нет, 1/0. Пример – задача о ранце.
2.2.2.2. Задача о ранце
Есть несколько «предметов», о которых известны их «веса» и
«полезности». Задан «ранец» определенной грузоподъемности.
Требуется поместить в «ранец» «предметы» таким образом, чтобы они
все «убрались» в «ранец» и суммарная «полезность» от них была
максимальна.
Построим математическую модель.
1. Исходные параметры модели:
вес предмета с номером
– вместимость ранца.
2. Варьируемые параметры модели. Обозначим через x m-мерный
вектор, элементами которого могут быть:
номером
не будет помещен в ранец.
3. Ограничения математической модели:
будет помещен в ранец, и
,
. При этом плане ЦФ задачи
.
– номера предметов,
– полезность предмета с номером i,
, если предмет с
, если предмет с номером
.
–
52
, (1)
. (2)

max
1
mi
ixicxF
njjbixjiv
m
i
,1,,
1
jiv ,
mi ,1
nj ,1
jb
jic ,
jiv ,
4. Постановка оптимизационной задачи. Критерий оптимальности
для задачи о ранце имеет вид:
. (3)
Здесь ограничение (1) связано с вместимостью ранца, а условие (2) –
естественные условия на введенные переменные.
Критерий (3) связан с максимизацией суммарной полезности от
предметов, помещенных в ранец.
Задача (1) – (3) называется задачей о ранце (канонический случай).
Если, кроме ограничения (1) по весу, в задаче присутствуют
подобные ограничения по другим характеристикам предметов, т.е.
ограничения (1) преобразуются в (4):
, (4)
где
(2) – (4) называется многомерной задачей о ранце.
С помощью математических моделей ранцевского типа
описываются следующие прикладные задачи:
– задача загрузки уникального оборудования;
– задача формирования портфеля заказов, обеспеченного
ресурсами;
– задача объемного планирования для предприятия;
– задачи загрузки контейнеров и др.
2.2.2.3. Решение канонической задачи о ранце методом ветвей
и границ
Задачу (1), (2) будем называть непрерывной задачей о ранце. Ее
решение может быть получено, например, симплекс-методом, однако
специфика задачи позволяет для ее решения предложить более
эффективный алгоритм. Этот алгоритм основан на теореме Данцига.
1. Процедура оценок
Непрерывную задачу о ранце назовем приведенной, если
отношения величин
величинам
(предметов). Очевидно, что любую задачу о ранце путем
перенумерации предметов можно сделать приведенной.
– j-я характеристика предмета с номером i,
, а
– вместимость ранца по j-й характеристике, то задача
(полезностей) к соответствующим
(весам) не возрастают с ростом номеров i
,
53

miivjxjvvivix
i
j
,1,/0,min
1
1
x
xFH
miic ,1,
V
xF
y
x
ixiy
ix
0iy
yFH
y
max46332715 xxxx
945372312 xxxx
1,0ix
4,3,2,1i
Теорема Данцига. Оптимальное решение непрерывной
приведенной задачи о ранце находится с помощью следующих
рекуррентных соотношений:
.
Пусть
Тогда верхняя оценка оптимального решения V для исходной задачи
о ранце находится следующим образом:
Если все коэффициенты
можно добиться путем приведения указанных величин к общему
знаменателю), то верхняя оценка может быть уменьшена. Величина
тогда может определяться как целая часть от
Нижняя оценка так же находится с помощью оптимального
решения непрерывной приведенной задачи о ранце, полученного с
помощью рекуррентных соотношений из теоремы Данцига.
Пусть
с использованием оптимального решения
ранце следующим образом:
противном случае.
Тогда
вектор
задачи о ранце.
Процедура ветвления. Для задачи о ранце в качестве направления
для ветвления выбирается направление, соответствующее переменной,
которая является дробной в оптимальном решении непрерывной
задачи о ранце. Если решение непрерывной задачи о ранце оказалось
целочисленным, то в соответствующем направлении верхняя и нижняя
оценки будут совпадать.
Если верхняя и нижняя оценки в некотором направлении совпали,
то в этом направлении не требуется проводить дальнейшее ветвление,
так как лучшее возможное в этом направлении решение уже найдено.
Оно соответствует нижней оценке этого направления.
Пример. Рассмотрим задачу о ранце с четырьмя предметами.
– оптимальное решение непрерывной приведенной задачи.
.
– целые числа (этого всегда
.
– m-мерный целочисленный вектор, который получается
непрерывной задачи о
, если
является достижимой нижней оценкой, так как
будет допустимым решением исходной (целочисленной)
,
,
,
.
– целое, и
в
54

73563725
max43362715 xxxx
947352312 xxxx
10 ix
4,3,2,1i
ivjxjvvivix
i
j
/0,min
1
1
mi ,,2,1
04'543',12',11' xxxx
V
'xFH
'xF
1654675 V
y
'x
ixiy '
ix'
0iy
0403,12,11 yyyy
yFH
y
1275 H
543' x
3x
4,2,1 xxx
13 x
Переходим к релаксации задачи о ранце, сделав ее приведенной
(
,
Cтроим оптимальное решение полученной задачи, используя
рекуррентные соотношения из теоремы Данцига:
):
,
,
.
,
Получим
Верхняя оценка
следующим образом:
целые числа, то верхняя оценка может быть уменьшена. Величина V
тогда определяется как целая часть от
Нижняя оценка так же находится с помощью оптимального
решения непрерывной приведенной задачи о ранце, полученного с
помощью рекуррентных соотношений из теоремы Данцига.
Пусть
использованием оптимального решения
ранце следующим образом:
противном случае.
Для нашего примера
Тогда
вектор
задачи о ранце. Отсюда
Таким образом, мы установили, что оптимум исходной задачи
(значение критерия на оптимальном решении) находится в интервале
от 12 до 16.
Процедура ветвления. Для нашего примера, так как переменная
переменную
Проводим зондирование в двух направлениях.
1. Первое направление:
– целочисленный вектор, который получается с
будет допустимым решением исходной (целочисленной)
, в качестве направления для ветвления выберем
.
для исходной задачи о ранце находится
. Так как все коэффициенты ЦФ –
, если
является достижимой нижней оценкой, так как
.
– неизвестные,
.
:
.
непрерывной задачи о
– целое, и
в
.
.
55

11' x
322' x
13' x
04' x
15V
11H
4,2,1 xxx
03 x
11' x
12' x
03' x
744' x
13V
12H
2x
322' x
4,1 xx
12 x
13 x
211' x
12' x
13' x
04' x
15V
13H
4,1 xx
02 x
13 x
11' x
02' x
33' x
724' x
11V
11H
11V
11H
11V
13H
13V
13H
13H
1x
Решая непрерывную приведенную задачу, находим оптимальное
решение:
этом направлении
2. Второе направление:
Решая непрерывную приведенную задачу, получаем оптимальное
решение:
этом направлении
Для первого направления будем проводить зондирование по
переменной
решении непрерывной задачи о ранце дробное (
В первом направлении
1.1. Случай 1:
Оптимальное решение непрерывной задачи о ранце имеет в этом
случае вид:
соответствующие этому решению, принимают значения:
.
1.2. Случай 2:
Оптимальное решение непрерывной задачи о ранце имеет в этом
случае вид:
соответствующие этому решению, принимают значения:
.
Так как в этом направлении значение верхней оценки совпало со
значением нижней оценки, то в этом направлении зондирование
проводить далее нецелесообразно (уже есть лучшее решение, при
котором значение критерия равно 11).
Анализ полученных результатов позволяет применить процедуру
отбрасывания:
– так как в случае 2, где
(лучшее, что можно получить в этом направлении) меньше
значения нижней оценки
может быть отброшено не в ущерб оптимальности;
– так как во втором направлении, где
оценка не больше нижней оценки
направление может быть отброшено не в ущерб оптимальности.
Для оставшегося случая 1 дробление необходимо осуществлять в
направлении переменной
,
,
, так как значение этой переменной в оптимальном
,
,
, нижняя оценка в этом направлении
,
, нижняя оценка в этом направлении
– неизвестные,
,
– неизвестные,
, так как в оптимальном решении
,
– неизвестные,
,
,
,
и
в случае 1, то первое направление
. Верхняя оценка в
. Верхняя оценка в
).
,
,
,
, значение верхней оценки
, а
для случая 1, то второе
. Оценки,
,
. Оценки,
.
.
.
, верхняя
.
,
.
,
56

211' x
4x
11 x
12 x
13 x
53294 x
4x
01 x
12 x
13 x
01' x
12' x
13' x
714' x
1371*367 V
1367 H
01' x
12' x
13' x
04' x
13' xF
n
xxxf ,,,21
,,1,,,
,,1,,,
21
21
mkibxxxg
kibxxxg
ini
ini
f
i
g
i
b
**2*
1
*
,,,
n
xxxX
непрерывной задачи о ранце значение этой переменной
(дробное значение переменной).
В случае 1
1.1.1. Вариант 1:
В этом случае уравнение
неотрицательного решения, поэтому данное направление не
рассматривается.
1.1.2. Вариант 2:
Оптимальное решение полученной непрерывной задачи имеет вид:
,
этому направлению, имеют вид:
В результате процедуры отбрасывания осталось лишь одно
направление, в котором верхняя оценка совпала с нижней.
Следовательно, исходная задача решена и оптимальное решение
определяется нижней оценкой, т.е. оптимальное решение равно:
,
исходной задачи о ранце равно
2.2.3. Нелинейное программирование
В общем виде задача нелинейного программирования (далее –
НЛП) состоит в определении максимального (минимального) значения
функции
соотношениям
– переменная,
– переменная,
,
,
,
,
при условии, что переменные удовлетворяют
,
,
. Оценки, соответствующие
. Значение оптимума для
.
,
,
,
.
не имеет
.
.
где
и
– некоторые известные функции n переменных, а
заданные числа.
В результате решения задачи будет определена точка
, координаты которой удовлетворяют
соотношениям.
Соотношения образуют систему ограничений и включают в себя
условия неотрицательности переменных, если такие условия имеются.
В эвклидовом пространстве система ограничений определяет область
D допустимых решений задачи. В отличие от задачи ЛП она не всегда
является выпуклой.
Если определена область допустимых решений, то нахождение
решения задачи сводится к определению такой точки этой области,
57
–

hxxxf
n
,,,21
minmax,,,
21
n
xxxf
mibxxxg
ini
,1,,,
21
m
,,,21
,,,,,,,
,,,,,,,
1
2121
2121
m
i
niiin
mn
xxxgbxxxf
xxxF
j
xh
nj ,1
i
h
mi ,1
mn
mixxxgb
F
nj
x
g
x
f
x
F
nii
i
m
i
j
i
ii
jj
,10,,,
;,10
21
1
mn
mn
xxx
,,,,,,,
2121
0020
1
,,,
n
xxxX
n
xxxf ,,,21
)(XF
через которую проходит гиперповерхность наивысшего (наинизшего)
уровня:
границе области допустимых решений, так и внутри ее.
При решении многих задач НЛП определенный эффект дает метод
множителей Лагранжа.
Пусть система ограничений содержит только уравнения
неотрицательности переменных и функции, непрерывные вместе со
своими частными производными:
Чтобы найти решение этой задачи, вводят набор переменных
, называемых множителями Лагранжа, и составляют
функцию Лагранжа:
. Указанная точка может находиться как на
,
.
находят частные производные
рассматривают систему
c
задачи является обращение в нуль всех частных производных функции
Лагранжа.
все точки, в которых ЦФ может иметь экстремальные значения.
матрицу вторых производных
точке, и определить знаки главных ее миноров.
неизвестными
Можно доказать, что необходимым условием экстремума исходной
Всякое решение системы уравнений определяет точку
, в которой может иметь место экстремум функции
. Следовательно, решив систему уравнений, получают
Для определения типа найденного экстремума можно построить
и
уравнений:
.
, вычисленных в экстремальной
58
,

2
2
2
2
1
2
2
2
2
2
2
12
2
1
2
21
2
2
1
2
n
nn
n
n
x
f
xx
f
xx
f
xx
f
x
f
xx
f
xx
f
xx
f
x
f
fH
mn
ij
fxf
''''
n
,0,,0,0
''''
1
''
1
''
11
''
22
''
21
''
12
''
11
''
11
nnn
n
ff
ff
ff
ff
f
,01,,01,01
''''
1
''
1
''
11
''
22
''
21
''
12
''
11
2
''
11
1
nnn
n
n
ff
ff
ff
ff
f
1
x
2
11
4 xx
2
x
2
22
8 xx
Строится матрица Гессе. Матрица этой квадратичной формы
образована вторыми частными производными функции. Если все
производные существуют, то
.
Если все главные миноры матрицы положительны, то найден
минимум; если они чередуются, начиная с минуса, то найден
максимум (правило Сильвестра).
Необходимым и достаточным условием положительной
определенности матрицы Гессе
является выполнение
условий:
т.е. необходимо и достаточно, чтобы все главные диагональные
миноры этой матрицы были положительны.
Необходимым и достаточным условием отрицательной
определенности матрицы является выполнение следующих условий:
т.е. необходимо и достаточно, чтобы миноры нечетных степеней были
отрицательны, а миноры четных степеней положительны (утрированно –
в точке минимума 2 производные положительные).
Пример. Предприятию необходимо изготовить 180 изделий. Эти
изделия могут быть изготовлены двумя технологическими способами.
При производстве
руб., а при изготовлении
руб. Определить, сколько изделий каждым из способов
изделий 1-м способом затраты равны
изделий 2-м способом они составляют
59

2
22
2
11
84 xxxxf
.0,
,180
21
21
xx
xx
21
2
22
2
1121
18084,, xxxxxxxxF
1
x
2
x
.0180
,028
,024
21
2
2
1
1
xx
F
x
x
F
x
x
F
21
2824 xx
221 xx
180
21
xx
91
*
1
x
89
*
2
x
4
20
02
2
011
120
102
''
11
FFH
f
1
f
следует изготовить, так чтобы общие затраты на производство
продукции были минимальными.
Решение. Математическая постановка задачи состоит в
определении минимального значения функции
при условиях
Решим задачу, используя метод множителей Лагранжа. Найдем
минимальное значение ЦФ без учета требований неотрицательности
переменных. Для этого составим функцию Лагранжа:
,
вычислим ее частные производные по
,
и
, а затем приравняем
их к нулю:
Перенося в правые части первых двух уравнений
их левые части, получаем:
Решая последние уравнение совместно с уравнением
находим
и
, т.е. получаем координаты точки D,
удовлетворяющие условиям. Эта точка является подозрительной на
экстремум. Используя вторые частные производные, можно показать,
что в точке D функция f имеет условный минимум.
Задачу можно решить другим путем. Такой же результат можно
получить и в том случае, если исследование на условный экстремум
функции
функции
сведем к исследованию на безусловный экстремум
, полученной из f в результате ее преобразований.
60
или
и приравнивая
.
,
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
