- •ВВЕДЕНИЕ
- •1.1. Формулировка задачи линейного программирования
- •1.2. Распределение специализированных бригад скорой помощи по категориям больных
- •1.3. Некоторые другие задачи на распределение
- •1.4. Разработка комплексной лекарственной терапии
- •1.5. Выработка оптимального плана массового лечения
- •1.6. Определение линейных разделяющих функций
- •2.1. Метод динамического программирования
- •2.4. Выравнивание символьных последовательностей
- •3. ПРИМЕНЕНИЕ ТЕОРИИ ИГР ДЛЯ ОПТИМИЗАЦИИ КЛИНИЧЕСКИХ РЕШЕНИЙ В ХИРУРГИИ
- •3.1. Игры и методы их решения
- •3.2. Элементы теории статистических решений
- •3.3. Критерии принятия решений в условиях неопределенности
- •3.4. Принятие решений при острых хирургических заболеваниях органов брюшной полости
- •3.5. Минимизация риска хирургического вмешательства в онкологии
- •Список литературы
- •ПРИЛОЖЕНИЯ
1.6. Определение линейных разделяющих функций
Проблема нахождения разделяющей гиперплоскости, возникающая в теории распознавания образов, в частности, при обнаружении некоторых классов биомедицинских сигналов, может быть сформулирована и решена в виде задачи линейного программирования [12].
Определим распознаваемый объект как точку в m -мерном евклидовом
пространстве |
признаков. Если объекты пронумерованы индексами j |
( j =1, 2, ), |
то положение соответствующих точек задается вектором (мат- |
рицей-столбцом) Pj , который представлен в виде упорядоченного набора его координат Pj = (p1 j , p2 j , , pmj ). Здесь и далее используется именно такая
символическая запись матриц-столбцов. Предполагается, что для обучающей последовательности ( j L) известна принадлежность объектов к одному из
классов образов A ( j A) или B ( j B).
Основная идея распознавания образов заключена в следующем: если вектор Λ = 
λ1, λ2, , λm 
, представленный в виде матрицы-строки, и порог θ удовлетворяют условиям
|
|
j LA; |
|
ΛPj ≥ θ, |
(1.24) |
||
|
|
|
|
ΛPj ≤ θ, |
j LB; |
|
|
|
|
|
|
θ> 0 ,
то можно предположить, что и для объектов с номерами j L соотношения (1.24) также сохраняют свою силу или выполняются с малым числом ошибок. Тогда по знаку линейной функции
ΛPj −θ = λ1 p1 j +λ2 p2 j + +λm pmj −θ
можно судить о принадлежности объекта j к тому или другому классу. Геометрическая интерпретация этого подхода такова: разделение объек-
тов из обучающей последовательности j L гиперплоскостью
ΛP−θ = 0
позволяет при достаточно большом числе точек эффективно разделять и точки распознаваемой последовательности j L . Основная проблема, возникающая при этом, заключена в нахождении вектора Λ (коэффициентов линей-
23
ного решающего правила), удовлетворяющего системе линейных неравенств
(1.24).
Для решения этой задачи может быть использован следующий подход, который основан на применении методов линейного программирования.
Формулируется задача о нахождении таких двух параллельных гиперплоскостей
ΛP = λ +θ;
ΛP = −λ +θ,
что:
а) для всех j L справедливы неравенства |
|
||||||
ΛPj ≥ |
|
|
+θ, |
j LA; |
(1.25) |
||
λ |
|||||||
ΛPj ≤ −λ +θ, |
j LB ; |
(1.26) |
|||||
б) кроме того, |
|
|
|||||
|
|
+ |
λ → max , |
|
|||
λ |
(1.27) |
||||||
|
|
Λ |
|
|
|
||
т. е. ставится задача о максимизации расстояния между полупространствами (1.25) и (1.26), содержащими все точки из множеств LA и LB соответственно.
Если в результате решения этой задачи окажется, что искомый максимум (1.27) является отрицательным, то очевидно, множества LA и LB , а следовательно, множества A и B являются неразделимыми выбором какой-либо гиперплоскости. В этом случае величина (1.27) дает меру неразделимости, устанавливаемую на базе обучающей последовательности. При установлении факта неразделимости целесообразно перейти к более полному описанию объектов, т. е. к увеличению размерности пространства признаков или к изменению их характера, либо к установлению правила неопределенности. Последнее может быть сформулировано в следующем виде: если для какой либо из распознаваемых точек ( j L ) одновременно выполняются неравенства (1.25) и (1.26), то эта точка не может быть отнесена к определенному классу.
Пример нахождения по критерию максимизации (1.27) вектора Λ и двух параллельных гиперплоскостей H1 и H2 , задающих области решений в одной из задач распознавания двух классов электрокардиосигналов (LA и LB ),
24
приведен на рис. 1.5. Здесь два класса сигналов заданы в пространстве спектральных признаков p1 и p2 . Расстояние между центрами классов обозначено ∆. Результирующее решающее правило (1.24), которое используется в линейном классификаторе, задается гиперплоскостью H . При этом удается минимизировать число ошибок при распознавании объектов, не входящих в обучающую последовательность ( j L ).
Рассмотрим методику решения задачи (1.25)–(1.27). В исходной формулировке она не является задачей линейного программирования, однако может быть к ней приведена в результате следующих преобразований.
Подчиним все коэффициенты уравнения разделяющей гиперплоскости условию нормировки:
Λ = 
λ12 +λ22 + +λ2m =1.
p2 
ΛA
H1 H H2
ΛB
∆ |
θ + λ |
|
θ |
|
λ |
θ – λ |
λ |
Λ
0
p1
Рис. 1.5
Тогда задача (1.25)–(1.27) может быть записана в виде
25
при условиях |
max θ( |
λ′+λ′), |
|
|
|
|
|
(1.28) |
||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
′ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
′ |
+1, |
|
j LA; |
|
|
|
|
|
(1.29) |
||||||||||
|
|
|
|
ΛPj ≥ λ |
|
|
|
|
|
|
||||||||||
|
|
|
|
′ |
|
|
|
|
|
′ |
+1, |
|
j LB ; |
|
|
|
|
(1.30) |
||
|
|
|
|
ΛPj ≤ −λ |
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
1 |
|
|
|||||||||
|
Λ′ |
|
= |
(λ1′ )2 +(λ′2 )2 + +(λ′m )2 |
= |
; |
(1.31) |
|||||||||||||
|
|
|||||||||||||||||||
1 |
|
|
|
|
|
|
1 |
|
|
|
1 |
|
|
θ |
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
Λ′= θ |
Λ; λ′= θλ; λ′= |
θ |
λ. |
|
|
(1.32) |
|||||||||||
Здесь требование максимизации целевой функции представлено в форме (1.28). Очевидно, что вместо этой задачи можно решать задачу линейного программирования
max ( |
λ′+λ′) |
(1.33) |
при условиях
Λ′Pj ≥ λ′+1, j LA, Λ′Pj ≤ −λ′+1, j LB,
определяя затем величину θ из условия (1.31), а искомые коэффициенты – из (1.32). Правило разделения может быть сформулировано и непосредственно
по оптимальным значениям Λ′, λ′, λ′, а значение θ полезно только для установления меры «разделимости» или «неразделимости».
Задачу (1.33) практически удобно решать, переходя к формулировке и решению двойственной задачи линейного программирования. Для того чтобы сформулировать эту задачу, рассмотрим основные положения теории двойственности.
Известно, что каждой задаче линейного программирования можно определенным образом сопоставить другую задачу линейного программирования, называемую двойственной или сопряженной по отношению к исходной (прямой) задаче [13]. Дадим определение двойственной задачи по отноше-
нию к общей задаче линейного программирования, состоящей в нахождении максимального значения функции
F = c1x1 +c2x2 + +cn xn |
(1.34) |
при условиях
26
a11x1 +a12x2 + +a1n xn ≤ b1; |
|
|
|||||||||||||||
|
|
+a22x2 + +a2n xn ≤ b2; |
|
|
|||||||||||||
a21x1 |
|
(1.35) |
|||||||||||||||
.................................................. |
|
||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
a |
x |
+a |
x |
+ +a |
x |
≤ b ; |
|
||||||||||
|
m1 1 |
|
m2 2 |
|
|
|
|
|
mn n |
|
m |
|
|
||||
|
x j ≥ 0 (j = |
|
l ≤ n). |
|
|
|
|
|
|||||||||
|
1,l, |
|
|
|
|
|
|||||||||||
Задача, состоящая в нахождении минимального значения функции |
|
||||||||||||||||
|
F* = b y |
+b y |
2 |
+ +b |
y |
m |
|
(1.36) |
|||||||||
|
|
1 1 |
|
|
2 |
|
|
|
|
m |
|
|
|||||
при условиях |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
a11y1 +a21y2 + +am1ym ≥ c1; |
|
|
|||||||||||||||
|
|
+a22 y2 + +am2 ym |
≥ c2 |
; |
|
||||||||||||
a12 y1 |
(1.37) |
||||||||||||||||
................................................... |
|
||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
a y |
+a |
2n |
y |
2 |
+ +a |
mn |
y |
m |
≥ c |
; |
|
||||||
|
1n 1 |
|
|
|
|
|
|
|
|
n |
|
|
|||||
yi ≥ 0 (i =1,k, k ≤ m)
называется двойственной по отношению к задаче (1.34), (1.35). Двойственная задача составляется согласно следующим правилам [13]:
1. Если целевая функция F исходной задачи максимизируется, то целе-
вая функция F* двойственной задачи минимизируется. 2. Матрица
|
|
a11 |
a12 |
a1n |
|
|
|
|
|
|
|
|
|||||
A = |
|
a21 |
a22 |
a2n |
|
|
, |
|
|
|
|
|
|
|
|
||
|
|
|
|
|
||||
|
|
am1 |
am2 |
|
amn |
|
|
|
составленная из коэффициентов при неизвестных в системе ограничений (1.35) исходной задачи, и аналогичная матрица
|
|
a11 |
a21 |
am1 |
|
|
|
||||
Aт = |
|
a12 |
a22 |
am2 |
|
|
|
|
|
|
|
|
|
a1n |
a2n |
|
amn |
в двойственной задаче (1.37) связаны операцией транспонирования.
27
3.Число переменных m в двойственной задаче равно числу ограничений в системе (1.35) исходной задачи, а число ограничений n в системе (1.37) – числу переменных в исходной задаче.
4.Коэффициентами при неизвестных в целевой функции F* двойственной задачи становятся свободные члены системы (1.35) исходной задачи, а в правой части каждого формируемого ограничения стоят коэффициенты при этой переменной в выражении целевой функции F исходной задачи.
5.Если переменная x j исходной задачи может принимать лишь положи-
тельные значения, то j -е условие в системе (1.37) двойственной задачи является неравенством. Если же переменная x j может принимать как положи-
тельные, так и отрицательные значения, то j -соотношение в системе (1.37) представляет собой равенство. Аналогичные связи существуют между ограничениями (1.35) исходной задачи и переменными двойственной задачи. Если i -е условие в системе (1.35) исходной задачи является неравенством, то i-я переменная двойственной задачи yi ≥ 0. В противном случае переменная yi
может принимать как положительные, так и отрицательные значения. Следует отметить, что, если существуют решения прямой и двойствен-
ной задач, то в точках, соответствующих оптимальным решениям, значения целевых функций задач максимизации и минимизации становятся равными.
В табл. 1.4 приведены правила построения двойственных задач, которые часто приводятся в литературе по исследованию операций и линейному программированию. Они являются частными случаями общих правил.
|
Таблица 1.4 |
|
|
Задача максимизации |
Задача минимизации |
|
|
Ограничения |
Переменные |
|
|
≥ |
≤ 0 |
|
|
≤ |
≥ 0 |
|
|
= |
Свободная |
Переменные |
Ограничения |
|
|
≥ 0 |
≥ |
|
|
≤ 0 |
≤ |
|
|
Свободная |
= |
Если число переменных в прямой и двойственной задачах, образующих данную пару, равно двум, то, используя геометрическую интерпретацию за-
28
дачи линейного программирования, можно легко найти решения сопряженных задач.
Пример 1.3. Для задачи, состоящей в определении максимального значения функции F = 2x1 +7x2 при условиях
−2x1 +3x2 ≤14;
x1 + x2 ≤8,
где x1, x2 ≥ 0 , составить двойственную задачу и найти решение обеих задач. Решение. Двойственной задачей по отношению к исходной является задача, состоящая в определении минимального значения функции F* =14 y1 +
+8y2 при условиях
−2y1 + y2 ≥ 2;3y1 + y2 ≥ 7,
где y1, y2 ≥ 0 .
Как в исходной, так и в двойственной задаче число неизвестных равно двум. Следовательно, их решение можно найти, используя геометрическую интерпретацию задачи линейного программирования (рис. 1.6 и 1.7).
Как видно из рис. 1.6, максимальное значение целевая функцияF исходной задачи принимает в точке A. Следовательно, x* = (2, 6) является оптимальным
29
x2 |
|
8 |
−2x1 +3x2 = 0 |
|
|
A |
6 |
|
Fmax = 2x1 +7x2 = 46 |
|
||
4 |
|
x1 + x2 = 0 |
|
||
2 |
|
ОДР |
|
||
|
|
|
|
|
|
|
|
|
|
–2 |
0 |
|
|
2 |
|
4 |
|
|
6 |
|
|
8 |
|
x1 |
|||||
|
|
|
–2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
F = 0 |
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
Рис. 1.6 |
|
|
|
|
|
|
|||
|
|
|
|
y2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
8 |
|
ОДР |
−2 y1 + y2 = 2 |
|
|
|
|
||||||||||
|
|
|
|
|
|
|
|
|||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||
|
|
|
6 |
|
|
|
B |
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
F* = 0 |
4 |
|
|
|
3y1 + y2 = 7 |
|
|
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|
||||||||||||
|
|
|
|
|
|
|
|
|
||||||||||||
2 |
|
|
|
|
|
|
|
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
||||||||||
|
|
|
|
|
F* |
|
=14 y +8y |
2 |
= 46 |
|
|
|||||||||
|
|
|
|
|
|
|
|
|||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
min |
|
1 |
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
–2 |
0 |
|
2 |
|
|
4 |
6 |
|
8 |
|
y1 |
||||||||
–2 

Рис. 1.7
решением, при котором Fmax = 46 . Минимальное значение целевая функция
F* двойственной задачи принимает в точке B (рис. 1.7). Значит, y* = (1, 4) является оптимальным решением двойственной задачи. Значения целевой функции исходной и двойственной задач в этих точках равны между собой.
30
Прямая и двойственная задачи так тесно взаимосвязаны, что оптимальное решение одной задачи можно получить из решения другой. Это обстоятельство обусловливает возможность проведения вычислений именно по той задаче (прямой или двойственной), которая требует меньших вычислительных затрат. Например, если прямая задача имеет 100 переменных и 500 ограничений, то предпочтительнее нахождение оптимального решения двойственной задачи, поскольку трудоемкость вычислений в большей степени зависит от числа ограничений, чем от числа переменных.
Возвращаясь к проблеме решения задачи (1.33), рассмотрим следующую частную задачу линейного программирования, записав ее в виде
max(c1x1 +c2x2 + +cn xn ) ; |
|
||||||
a11x1 +a12x2 + +a1n xn ≤ b1; |
|
||||||
|
|
+a22x2 + +a2n xn ≤ b2; |
|
||||
a21x1 |
(1.38) |
||||||
.................................................. |
|||||||
|
|
|
|
|
|
|
|
a |
x |
+a |
x |
+ +a |
x |
≤ b |
, |
|
m1 1 |
|
m2 |
2 |
mn n |
m |
|
или в матричной записи:
max
c, x
;
Ax ≤ b,
где целевая функция представлена в виде скалярного произведения
c, x
двух векторов x = (x1, x2, , xn ), c = (c1,c2, ,cn ) , а вектор ограничений – в виде матрицы-столбца b = (b1, b2, , bm ). Здесь, как и в (1.33), на коорди-
наты вектора x не накладывается никаких дополнительных условий. Двойственной к (1.38) будет задача линейного программирования от
m переменных y1, y2, , ym вида
min (b1y1 +b2 y2 + +bm ym ); |
|
|
|||||||||
a11y1 +a21y2 + +am1ym = c1; |
|
|
|||||||||
|
+a22 y2 |
+ +am2 ym = c2 |
; |
|
|||||||
a12 y1 |
(1.39) |
||||||||||
.................................................. |
|
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
a y |
+a |
2n |
y |
2 |
+ +a |
mn |
y |
m |
= c ; |
|
|
1n 1 |
|
|
|
|
n |
|
|
||||
где yi ≥ 0 (i =1,m), или в матричной записи:
31
min
b, y
;
Aтy = c; y ≥ 0,
где y = (y1, y2, , ym ).
Как видно из (1.39), переменных столько же, сколько строк в матрице A задачи (1.38). Матрица ограничений в (1.39) – транспонированная матрица A . Вектором правой части ограничений в (1.39) служит вектор коэффициентов максимизируемой линейной функции (1.38), при этом знаки неравенств меняются на равенство. Наоборот, в качестве целевой функции в (1.39) выступает линейная форма, коэффициенты которой задаются вектором правой части ограничений задачи (1.38). При этом символ max меняется
на min . На двойственные переменные yi , i =1, m накладывается условие неотрицательности.
В соответствии со второй теоремой двойственности (теоремой равновесия) оптимальный план x* = (x1*, x2*, , xn* ) прямой задачи (1.38) однозначно
связан с решением двойственной задачи (1.39) y* = (y1*, y2*, , ym* ). Суще-
ствующую зависимость можно представить следующим |
образом: если |
y* > 0, то |
|
i |
|
ai1x1* + ai2x2* + + ainxn* =bi . |
(1.40) |
Это соотношение позволяет получить систему, состоящую из n уравнений, которая используется для нахождения оптимального решения прямой задачи.
Таким образом, если в прямой задаче (1.38) число ограничений m значительно превосходит число переменных n , целесообразно вначале решить двойственную задачу (1.39), представленную в канонической форме, а затем, перейти к составлению системы уравнений и ее решению относительно неизвестных x* = (x1*, x2*, , xn* ).
Следует отметить, что для сформулированных вариантов двойственных задач линейного программирования существует вычислительный метод нахождения оптимального решения одной задачи непосредственно (без дополнительных вычислений) из симплекс-таблицы, представляющей оптимальное решение сопряженной задачи. Алгоритм нахождения оптимальных
32
решений сопряженных задач, ориентированный на практическое применение, подробно рассмотрен в [13].
Итак, сформулированную задачу отыскания разделяющей гиперплоскости (1.33) можно решить на основе двойственной задачи. Условия ограничения в (1.33) можно привести к виду
−(λ1 p1 j +λ2 p2 j + +λm pmj )+ |
|
|
j LA ; |
|
(1.41) |
|||
λ′≤ −1, |
|
|||||||
λ1 p1 j +λ2 p2 j + +λm pmj +λ′≤1, |
j LB . |
|
|
(1.42) |
||||
|
|
|
|
|
|
′ |
|
|
Здесь неизвестными являются параметры λ1, λ2, , |
|
′ |
, |
оптималь- |
||||
λm , λ , |
λ |
|||||||
ные значения которых входят в уравнения двух параллельных гиперплоскостей. Число ограничений определено количеством объектов, образующих классы LA и LB . Оно задает и число неизвестных x j , j L ( j LA, j LB)
в двойственной задаче, которую необходимо сформировать на основе рассмотренных ранее представлений.
Следуя правилам построения сопряженных задач (1.38) и (1.39), ее можно представить следующим образом. Найти
|
|
|
∑ x j + |
|
|
min − |
∑ x j |
||||
|
|
|
j LA |
j LB |
|
|
|
|
|
||
при условиях |
|
|
|
|
|
|
|
|
∑ x jPj |
= b , |
(1.43) |
|
|
|
j L |
|
|
|
|
x j ≥ 0, j L, |
|
||
где введены обозначения |
|
|
|
|
|
P |
|
(−Pj ,1, 0), |
j LA; |
||
j |
= |
|
|
|
|
|
(Pj , 0,1), |
j LB; |
|||
b = (0, 0, ,0,1,1). m
Линейные ограничения (1.43), заданные в матричной форме, можно записать в виде системы уравнений-ограничений
∑ −p1 j x j + ∑ p1 j x j = 0;
j LA j LB
∑ −p2 j x j + ∑ p2 j x j = 0 ;
j LA j LB
33
……………………………….
∑ −pmj x j + ∑ pmj x j = 0;
j LA |
j LB |
|
∑ x j =1; |
|
j LA |
|
∑ x j =1, |
|
j LB |
где все x j ≥ 0.
В данной задаче, имеющей каноническую форму, имеется лишь m +2 ограничения, что значительно упрощает ее решение. Это связано с тем, что число объектов, как правило, значительно превышает размерность пространства признаков, в котором строится разделяющая гиперплоскость. Если общее число объектов равно n , то число свободных переменных x j будет рав-
но n −(m +2). Выразив m базисных переменных через выбранные свобод-
ные переменные, можно перейти к стандартной форме представления системы уравнений-ограничений. Применение симплекс-метода, основанного на табличном алгоритме замены базисных переменных, позволит найти все
множество оптимальных значений (x*j , j L), из которых лишь m +2 переменных будут иметь ненулевые значения. Если найденный оптимальный план этой задачи представить в виде (x1*, x2*, , xm* +2, 0, 0, , 0), то лишь для первых m +2 переменных будет составлена система уравнений-ограни- чений прямой задачи следующего вида:
−(λ1 p1 j +λ2 p2 j + +λm pmj )+λ′= −1,
если j LA;
λ1 p1 j +λ2 p2 j + +λm pmj +λ′=1,
если j LB.
Как следует из (1.40), форму равенства приобретают только те неравенства из ограничений (1.41), (1.42), в которых индексы j однозначно связаны
с ненулевыми значениями (x1*, x2*, , xm* +2 ). Решение этой системы уравнений позволяет найти оптимальные значения переменных
(λ1, λ2, , λm , λ′, λ′)* .
34
