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

Системный анализ. Учебное пособие

.pdf
Скачиваний:
0
Добавлен:
07.09.2026
Размер:
1 Мб
Скачать
☆
ческом развитии жизненных ситуаций. Здесь работают иные способы. Утверждения, которым можно приписать некоторую из двух оценок ис­тинности, принято называть высказываниями. Логика, оперирующая высказываниями, называется исчислением высказываний. Кроме исчис­ления высказываний в классической логике изучается исчисление пре­дикатов. В этом исчислении утверждения содержат свободные пере­менные, поэтому их истинность или ложность
зависит от того, как обо­значены эти переменные. Примером утверждения, содержащего две не­зависимые переменные, может служить фраза «Х старше 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. ПОСТАНОВКА ЗАДАЧ МАТЕМАТИЧЕСКОГО ПРОГРАММИРОВАНИЯ
Математическим программированием называют науку о моделях математического программирования, свойствах их решений и методах отыскания оптимальных решений.
Математическую постановку задачи математического программи­рования можно представить в следующем виде: определить значения вектора переменных
(),, , ,
xxx
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
математического программирования – линейной, или задачи ЛП. В общем виде задача ЛП может быть сформулирована как задача нахож-
дения вектора
, , ,
xxEx
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
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]