Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Системный анализ. Учебное пособие
.pdf
ческом развитии жизненных ситуаций. Здесь работают иные способы.
Утверждения, которым можно приписать некоторую из двух оценок истинности, принято называть высказываниями. Логика, оперирующая
высказываниями, называется исчислением высказываний. Кроме исчисления высказываний в классической логике изучается исчисление предикатов. В этом исчислении утверждения содержат свободные переменные, поэтому их истинность или ложность
зависит от того, как обозначены эти переменные. Примером утверждения, содержащего две независимые переменные, может служить фраза «Х старше Y». Эта фраза
не является высказыванием, ей нельзя априори приписать какое либо
значение истинности. Она становится высказыванием только тогда, когда вместо Х и Y будут подставлены конкретные значения. Например,
фраза «В.И. Ленин старше Карла Маркса» уже является высказыванием,
правда, ложным.
Рис. 1.2. График для лингвистической переменной
«Рост человека»
Очевидно, что нельзя считать достоверный вывод формальной моделью, в которую можно уложить человеческие способы рассуждений.
Часто встречается такая, например, особенность человеческих рассуждений, как замена полного вывода только его заключительной частью.
В жизни такие усеченные выводы мы предпочитаем полным, так как
часто полный вывод мы не сможем воспроизвести и основываемся
21

на уверенности, что он возможен. В основе сказанного может лежать
множество причин, например: ссылка на авторитетный источник, прежний опыт (эмпирический) и др. Главное обстоятельство – это то, что,
делая усеченный вывод, индивидуум не видит в своих знаниях противоречий этому выводу. Реальная жизнь – это не формальная система, где
если некоторое утверждение
получено в цепочке вывода, ведущей от
исходной системы аксиом, то оно говорит о замкнутости функциональной системы.
В искусственном интеллекте описанные нестандартные рассуждения относят к широкому кругу немонотонных рассуждений. Вывод в такой системе является монотонным рассуждением. Под монотонностью
понимается следующее: если некоторое утверждение получено в цепочке вывода,
ведущей от исходной системы аксиом, то, что бы ни происходило потом, данное утверждение остается выведенным. В связи
с этим говорят, что формальная система описывает полностью некоторый замкнутый в себе и неизменный мир утверждений.
В реальной жизни человек не обладает полными исчерпывающими
знаниями об окружающем его мире, а значит, он не располагает полной
системой аксиом, отражающих все закономерности этого мира. К тому
же и сами закономерности не отличаются стабильностью. Таким образом, неполнота системы правил вывода неизбежна. То, что казалось сегодня истиной, завтра может стать ложью. Классическим примером такой ситуации может служить знаменитый силлогизм:
Все лебеди белые.
птица – лебедь.
Эта
Следовательно, эта птица – белая.
Он считался истинным до обнаружения в Австралии черных лебедей.
Следует сказать, что множество человеческих рассуждений довольно обширно: бывают правдоподобные, индуктивные, вероятностные рассуждения о гипотезах и др. Их важность при исследовании проблемной ситуации, в поиске решения и выработке улучшающего вмешательства несомненна.
Итак, нечеткий вывод – это вид вывода, часто встречающийся при
моделировании рассуждений, опирающихся на человеческую практику,
где при обосновании своих утверждений люди не стремятся придерживаться законов математической логики.
22

Пример 1.6
1. Я часто хожу гулять вечером, если нет дождя.
2. К сожалению, в последнее время дожди идут очень часто.
3. В последнее время я редко выхожу вечером гулять.
Два первых высказывания отражают основания для вывода под номером 3. Здесь важны три словосочетания: «часто», «очень часто»
и «редко». Если отвлечься от
содержательной части этого примера, то
вывод определяется следующей формальной логикой: «Если Х часто
в отсутствии Y и Y – очень часто, то Х – редко». Такая схема является
показательным примером нечеткого вывода. Вместо двух традиционных значений «истина» и «ложь» в нечетком выводе используются переменные, имеющие ряд значений. В данном случае это переменная
«Частота».
Следующий пример использует переменную «Расстояние».
Пример 1.7
1. Дом стоит недалеко от озера.
2. Озеро примыкает своим дальним берегом к лесу.
3. Дом находится не очень далеко от леса.
Здесь используется схема: «Если Х недалеко от Y и Y примыкает
к Z, то X не очень далеко от Z». Переменные, значениями которых яв-
ляются некоторые словесные оценки, являются лингвистическими пере-
менными. Именно
они характерны для нечеткого вывода. Следует отметить, что нечеткий вывод не является достоверным, он лишь правдоподобен. С таким выводом и его схемой можно не соглашаться, да и сами
схемы могут не оправдываться в каких-то ситуациях.
Замечание.
Использование нечеткого вывода в человеческой деятельности довольно широко, поскольку он отражает сумму знаний
о многих явлениях реальности. В системах искусственного интеллекта,
действующих в не полностью описанных средах, при принятии решений в условиях недостатка полной информации, в экспертных системах
при частичных знаниях о предметной области и других областях без
не-
четких выводов не обойтись.
23

x
g
f
x
g
ГЛАВА 2
ЗАДАЧИ СИСТЕМНОГО АНАЛИЗА,
ИМЕЮЩИЕ ХОРОШУЮ МАТЕМАТИЧЕСКУЮ
ФОРМАЛИЗАЦИЮ И ЭФФЕКТИВНО РЕШАЕМЫЕ
МЕТОДАМИ ОПТИМИЗАЦИИ
2.1. ПОСТАНОВКА ЗАДАЧ МАТЕМАТИЧЕСКОГО
ПРОГРАММИРОВАНИЯ
Математическим программированием называют науку о моделях
математического программирования, свойствах их решений и методах
отыскания оптимальных решений.
Математическую постановку задачи математического программирования можно представить в следующем виде: определить значения
вектора переменных
(),, , ,
xxx
12
ничениям, заданным с помощью функций вида
ставляют максимум или минимум целевой функции
Таким образом, модель задачи математического программирования вы-
глядит следующим образом [3]:
которые удовлетворяют огра-
n
(),, , ,
xx x
12
in
xx x
12
и до-
n
., , (),
, где 1, , ;
fx x x
xx x b i m
12
ini
j
, , , max ()();min
12
, , , , где 1, , .()
jn (2.1)
n
(2.2)
(2.3)
Искомое решение задачи математического программирования, или
план, – это вектор х из пространства
n
Е
. Допустимое решение (план)
задачи математического программирования – это такое решение,
24

которое удовлетворяет ограничениям (2.3). Совокупность допустимых
x
f
f
f
f
f
х
решений задачи D называют областью допустимых решений (ОДР) задачи математического программирования. Оптимальным решением
*
или решением, называется такое допустимое решение, при котором целевая функция достигает своего оптимального (максимального или минимального) значения:
,
Величина
max ( ) ( )
*
x
x
(),fx или *,
x
называется оптимальным значением це-
*
min ( ) ( )
или
x
x
*
x
. (2.4)
левой функции. Окончательным решением задачи математического
**
программирования является пара
(, )
. Таким образом, процесс ре-
f
шения задачи математического программирования заключается в отыскании решений или получении вывода о том, что задача по тем или
иным причинам не имеет решений.
Если в задаче математического программирования хотя бы одна из
функций (2.2) или (2.3) нелинейна, то такая задача называется задачей
нелинейного программирования. Функциональные ограничения (2.3)
быть заданы не только в виде неравенств, но и в виде уравнений.
могут
Стоит отметить, что кроме функциональных ограничений (2.3) в задаче
могут быть и дополнительные ограничения, например, на целостность
или неотрицательность значений искомого решения (переменных),
т. е. ограничения по физическому смыслу. Такие ограничения называются тривиальными. Также отметим, что в математическом
смысле задача поиска максимума функции эквивалентна задаче поиска минимума:
nn
zcx z cx
jj j j
11
jj
max ( ) min
. (2.5)
Так, например, точка максимума для функции
минимума функции
()fxx
вета задачи необходимо учесть, что
2
. При оформлении окончательного от-
** * *
–.() ()zzx zx z
()fxx
2
равна точке
25

Рассмотрим теперь способы представления самой простой задачи
x
E
E
математического программирования – линейной, или задачи ЛП.
В общем виде задача ЛП может быть сформулирована как задача нахож-
дения вектора
, , ,
xxEx
12
n
n
при выполнении условий (2.2)
и (2.3). Тогда модель задачи ЛП можно записать в следующем виде:
( ) ... max (min),
zx cx cx cx
11 2 2
ax ax ax b
11 1 12 2 1 1
ax ax ax b
21 1 22 2 2 2
nn
... ,
nn
... ,
nn
...
ax a x a x b
11 2 2
mm mnnm
xjn
... ,
0, 1, .
j
(2.6)
Такую запись можно сократить:
zx cx
n
( ) max (min),
jj
j
1
n
ax b i m
ij j i
j
1
xjn
j
, 1, ,
0, 1, .
(2.7)
Модель задачи ЛП можно представить и в матричной форме:
xD xEAxbx ,
где с, х – векторы-столбцы из пространства
из m-мерного пространства
{}
a размерности m × n:
ij
T
zcx cx
(, ) max,
n
m
; А – матрица коэффициентов условий
26
,0
(2.8)
n
; b – вектор-столбец

aa a
x
x
f
yf
cxb
111
... , ... , ... , .
cxb A
cxb
nnm
11 12 1
aa a
21 22 2
... ... ... ...
aa a
12
mm mn
...
...
...
n
n
(2.9)
Итак, при построении оптимизационных моделей нужно определить,
что в задаче является искомыми величинами, являются ли эти величины
управляемыми и как их можно представить, какова цель (или цели) решения и какие условия в отношении искомых величин и ресурсов задачи должны быть
выполнены. В процессе построения оптимизационной модели желательно указывать единицы измерения переменных, целевой функции и функций всех ограничений. Это позволит предотвратить возможные ошибки в построении модели.
2.2. ЧИСЛЕННОЕ РЕШЕНИЕ
ОДНОМЕРНЫХ ЗАДАЧ ОПТИМИЗАЦИИ
Рассмотрим наиболее простой класс задач оптимизации – одномерные задачи оптимизации. При их исследовании мы будем предполагать,
что целевая функция
ется возможность найти явное выражение для ее производной
()zx
дифференцируема на отрезке
,ab
и име-
()zx
В математическом анализе при изучении свойств функций, непрерывных на отрезке, доказывается следующая теорема.
Теорема Вейерштрасса. Всякая функция
резке
значения, т. е. на отрезке
любого
, принимает на этом отрезке свое наименьшее и наибольшее
,ab
существуют такие точки
,ab
выполняются неравенства
,xab
(),fx
непрерывная на от-
,
, что для
1
2
() () ( )
xfxfx
12
.
Не исключается, в частности, возможность того, что наименьшее
или наибольшее значение достигается сразу в нескольких точках. Теорема Вейерштрасса играет роль теоремы существования: согласно этой
теореме задача оптимизации, в которой целевая функция
()zx
задана
и непрерывна на отрезке, всегда имеет решение.
Пример 2.1.
Химический завод производит некоторое вещество.
Выход интересующего нас продукта определяется температурой:
()
T
[7].
.
27

Температуру можно варьировать в определенных пределах:
f
f
f
yf
f
f
x
()
TTT
12
. Вид функции
T
заранее не известен, он зависит от ис-
пользуемого сырья. Получив определенную партию сырья, нужно найти
температуру T, при которой наиболее выгодно вести производство,
т. е. место, где функция
()fT
достигает своего наибольшего значения.
С математической точки зрения мы имеем типичную одномерную
задачу оптимизации. Заметим, что в данном случае нет никакой формулы для целевой функции
()fT
. Чтобы определить ее значение при
некоторой температуре Т, нужно провести опыт либо в лаборатории
(если это возможно), либо в производственных условиях. Совершенно
ясно, что возможно лишь конечное число измерений, и тем самым функ-
()
ция
T
будет известна нам в конечном числе точек. Значений ее про-
изводных мы вообще определить не можем. Строго говоря, мы не знаем,
существует ли у нее производная, и остается основываться на предпо-
()
T
ложении, что функция
, по-видимому, дифференцируема. Следует
добавить, что каждое измерение требует времени, а задерживать производственный процесс нельзя. Поэтому необходимо получить ответ
на поставленный вопрос после небольшого числа измерений, т. е. по
значениям
()fT
в некоторых точках.
Замечание. Возможны также задачи оптимизации, в которых целе-
()
вая функция
x
находится в результате численного решения не-
которой математической задачи. Очевидно, что при этом окажется доступной информация о целевой функции в конечном числе точек.
()
Итак, определяя значения непрерывной функции
конечном числе точек отрезка
, нужно приближенно найти ее
,ab
T
в некотором
наименьшее (или наибольшее) значение на данном отрезке.
Возможны разные подходы к решению этой задачи. Рассмотрим
сначала метод, идея которого наиболее проста и естественна.
1. Метод равномерного распределения точек по отрезку. Пусть
задано целое некоторое число n. Вычислим шаг
()
x
лим
в точках
akh
k
этого найдем среди полученных чисел
(0,1,2,,);kn
y
k
наименьшее:
()hban
yfx
kk
и опреде-
После
().
mm fx
n
min ( , , , )
myyy
nn
01
min ( )
28
,
; (2.10)
. (2.11)
,xab

Таким образом, число
шее значение функции
()fx
сти функции
имеем
можно приближенно принять за наимень-
m
n
()fx
на отрезке
. Благодаря непрерывно-
,ab
lim min ( )
mm fx
x
, (2.12)
n
т. е. с увеличением числа точек n ошибка в определении минимума стре-
мится к нулю.
Замечание. В данном случае ответ на вопрос, какое же n нужно
взять, чтобы погрешность в определении наименьшего значения
mm
nn
не превышала заданной точности ε (т. е.
n
), без при-
влечения априорной информации о поведении и свойствах исследуемой
функции
взяли и как бы ни выбирали n точек на отрезке
зать такую непрерывную функцию, что для нее
()fx
весьма затруднителен. Какое бы количество точек мы ни
, всегда можно ука-
,ab
будет отличаться
m
n
от m больше, чем на ε (рис. 2.1).
Рис. 2.1. Пример графика некоторой непрерывной функции,
для которой возникают трудности при применении метода
равномерного распределения точек по отрезку
29

В таком случае строго можно дать обоснованную оценку числа то-
x
x
x
x
x
x
x
чек n, необходимого для решения задачи с точностью
(),
n
только
сужая класс рассматриваемых задач.
2. Метод распределения точек по отрезку, учитывающий ре-
зультаты вычисления целевой функции.
Распределяя точки
k
рав-
номерно, мы уделяем одинаковое внимание всем участкам отрезка: тем,
где целевая функция велика, и тем, в направлении которых она убывает.
Это существенно удлиняет расчеты и затягивает исследование. Таким
образом, будем выбирать очередную точку с учетом информации
о функции
(),fx
которую мы уже получили, вычисляя ее в предыдущих
точках. При этом основное внимание следует уделять тем участкам отрезка
, где вычисления дают малые значения функции, а другие
,ab
участки просматривать более бегло. Реализовать эту идею можно
по следующему алгоритму:
()fx
1) вычисляем значения функции
,
a
0
2) следующую точку
, т. е.
b
1
00
и
()yfx
выбираем ближе к тому концу отрезка, на
2
11
в двух граничных точках
;
()yfx
котором функция принимает меньшее значение. Причем ее положение
и
определяется соотношением между числами
y
0
ница между ними, тем сильнее будет сдвиг точки
: чем больше раз-
y
1
в соответствую-
2
щую сторону;
3) точку
выбираем, придерживаясь пункта 2, с той лишь разни-
3
цей, что точек стало на одну больше;
4) исходя из предыдущих пунктов можно построить вычислитель-
ную схему автоматизированного построения последовательности
0, 1, , .nN
Естественно, что необходимые для вычислений пара-
,
n
метры должны выбираться исходя из существа поставленной задачи.
3. Специальные методы. Во многих случаях из характера рассмат-
риваемой задачи может следовать та или иная дополнительная априорная информация о свойствах целевой функции. Это может быть положено в основу специализированных алгоритмов, что позволяет существенно сократить объем необходимых вычислений и повысить эффективность решения поставленной задачи.
30
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
