Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Антонов. Системный анализ. Учебник для вузов.doc
Скачиваний:
449
Добавлен:
19.02.2016
Размер:
3.82 Mб
Скачать

Глава I определения системного анализа 7

1.1.Системность - общее свойство материи 7

1.2.Развитие системных представлений. Становление системного анализа 9

1.3.Определения системного анализа 10

1.4.Понятие сложной системы 11

1.5.Характеристика задач системного анализа 14

1.6.Особенности задач системного анализа 16

1.7.Развитие систем или процессов. Прогнозирование и планирование 19

1.8.Типовые постановки задач системного анализа 21

Глава 2 33

ХАРАКТЕРИСТИКА ЭТАПОВ СИСТЕМНОГО АНАЛИЗА 33

2.1.Процедуры системного анализа 33

2.2.Анализ структуры системы 34

2.3.Сбор данных о функционировании системы. Исследование информационных потоков 36

2.4.Построение моделей систем 39

2.5.Проверка адекватности моделей, анализ неопределенности и чувствительности 41

2.6.Исследование ресурсных возможностей 43

2.7.Определение целей системного анализа 44

2.8.Формирование критериев 46

2.9.Генерирование альтернатив 47

2.10.Реализация выбора и принятия решений 50

2.11.Внедрение результатов анализа 52

Глава 3 построение моделей систем 53

3.1.Понятие модели системы 53

3.2.Способы описания систем Модель черного ящика 54

3.3.Анализ и синтез - методы исследования систем 60

Глава 4 ИМИТАЦИОННОЕ МОДЕЛИРОВАНИЕ - МЕТОД ПРОВЕДЕНИЯ СИСТЕМНЫХ ИССЛЕДОВАНИЙ 67

Глава 5 75

ТЕОРИЯ ПОДОБИЯ - МЕТОДОЛОГИЯ ОБОСНОВАНИЯ ПРИМЕНЕНИЯ МОДЕЛЕЙ 75

[р,:і=ша'[лр'[м]\ 80

[c]=[Mf[Lfm\ 80

7С, = : : 81

7С, = 81

р. 85

шр = J Ч(к^к 85

°р = J K2Zp(K)^K-Wp2, 85

ZprCO= JJ /, (*,)/2 (f2Vfc1A1 = 86

Глава 6 92

ЭКСПЕРИМЕНТ - СРЕДСТВО ПОСТРОЕНИЯ МОДЕЛИ 92

Глава 7 110

ПАРАМЕТРИЧЕСКИЕ МЕТОДЫ ОБРАБОТКИ ЭКСПЕРИМЕНТАЛЬНОЙ ИНФОРМАЦИИ 110

1Lt, 128

Ь, = (в, Ґ 138

мм>.го>=П[ j*-JШГ 152

^,B)= ртам, 170

J p*~m+I(l-p)mdp 175

J pk-m(l-p)mdp 175

т{т'у>’шга«~кг‘щцтг- 210

241

AJ 241

=0=8= - A 283

8^==8 •■• ^8 - *8= •■ 287

если г, Z = 1, 2,..., т.

Выясним условия, при которых новое базисное решение будет до­пустимым, т.е. а0+>) > 0 для всех /. По предположению, аю > 0, тогда

а(к)

(t+i) =£ш_>о 10

1 0 К 1K

,0 1K ъ

Теперь можно записать базисное решение

х, = I; х2 = I; х} = 0; X4 = 0, а также соответствующее общее решение

А(3) =

АР

і 0 (*) и

будет больше нуля при всех

а(к)

аю

при

Если аїр < 0, то очевидно, а%+1) > 0, так как > 0, ajk) > 0.

значениях I = 1,2,..., т тогда и только тоща, коща = min

Если а(,к) > 0, то а,(*+|) = а(к)

условии aik) > 0.

,(*)

,(*)

л*)

и ограничения

Преобразование Гаусса называется симплексным преобразовани­ем, когда направляющий элемент определяют по следующим правилам:

  • направляющий столбец выбирают из условия, что в нем имеется хотя бы один положительный элемент;

  • направляющую строку выбирают так, чтобы отношение — было

минимальным при условии, что а.> 0. 4

Задачи линейного программирования, решаемые с помощью симп­лекс-метода, основываются на представлении решения в табличной форме. Рассмотрим последовательность действий при решении зада­чи линейного программирования.

Пусть имеются линейная форма

aIlxI

+ #12*2 '

,л ^e10;

°2\Х\

<

+ O22X2+.

.. + A2nJtn < а20;

.e„i*i

+ ат2Х2 +

" + атпХя ат0-

с,*, + C2JC2 +... + спхп -» шах


Приведем матрицу ограничений к каноническому виду:


[ OilXl+O12X2+GlnXn +...+Ixetl + ...+O^lltm10,



Ki*i + ^m2X2 +... + OimXn +Ojtntl +...+1хп+тт0. Ha следующем шаге составим таблицу (табл. 10.1).

Таблица 10.1

С

с,

C2

C3

Cl

Cn

0

0

в,

Ao

Ai

A2

A3

At

Лп

А„. і

Anm

Cn+1

Xn+1

О\0

Oll

Oi2

а із

ам

а\п

і

0

Cu+2

-*л+2

Д20

021

ап

<323

av

а-щ

0

0

Ся+і

Хп+і

аю

Oil

ап

Ol 3

OlJ

а

0

0

С п+т

Хп+т

OmO

4я1

Qml

а»з

Cimn

0

1

Доо

Ooi

Д02

Доз

OQj

OQn

OCmtn

Нижняя строка элементов <*ок = 0, т+п называется индексной. Элементы индексной строки вычисляются следующим образом:

т

аои = Saitcn+i ~ск> * = 1» и означает номер соответствующей строки.

і=і

Поскольку на первом шаге заполнения таблицы все элементы спН рав­ны нулю, то элементам индексной строки присваиваются значения со­ответствующих элементов целевой функции данного столбца, взятые с обратным знаком, т.е. а0 = -Ck. Последняя строка таблицы служит для определения направляющего столбца.

Элемент Oi00 равен значению целевой функции, которое вычисляет-

т

ся по формуле ам = Jcn+iai0 , к - номер базисной переменной (индек­сация идет по строкам таблицы).

В столбце Bx записываются базисные переменные, на первом шаге

в качестве базисных выбирают фиктивные переменные {Jtntt },jt = 1, т. В дальнейшем фиктивные переменные необходимо вывести из базиса.

В столбец С записываются коэффициенты при хп+к, на первом шаге значения этих коэффициентов равны нулю.

Для перехода от базиса фиктивных переменных к базису реальных переменных применяют следующие правила:

  • в качестве направляющего столбца выбирают столбец Aj, для ко­торого выполняется условие а = min{a0(}, 1 = 1, п при аое <0, т.е. выбирается минимальный элемент, при условии, что этот элемент от­рицательный;

  • выбирают направляющую строку, для чего каждый элемент стол­бца свободных членов делится на соответствующий элемент направ­ляющего столбца, элемент столбца свободных членов находится в од­ной строке с элементом направляющего столбца —. Из всех возмож­но

ных соотношений выбирается минимальное — = mini — I при условии,

аи KJ

что аг> 0, 1 < г < т.

Применяя сформулированные правила, определяем направляющий элемент. Далее выполняется шаг симплексных преобразований.

Переменная, которая соответствует направляющему столбцу, вво­дится в базис, а переменная, соответствующая направляющей строке, выводится из базиса. При этом для переменной, вводимой в базис, из-

меняется соответствующее значение коэффициента целевой функции. Вместо коэффициента сл+( соответствующего старой базисной перемен­ной, в таблице записывается значение коэффициента целевой функции при переменной, вводимой в базис.

Если направляющий элемент а.., то переход от данной таблицы к следующей осуществляется с использованием следующих правил.

  1. Для всех элементов направляющей строки

(*)

„(*+1)_uU

и Ikl '

4 Jt1 +Зх2 +Ox3 +Ox4 +Ox5 —»шах;

Ix1 +Ox2 +Ix3 +Ox4 +Ox5 =4000;

Ox1 +Ix2 +Ox3 +Ix4 +Ox5 = 6000;

2

Ix1 + ” X2 +Ox3 +Ox4 +Ix5 = 6000. Составим исходную симплекс-таблицу (табл. 10.2).

Таблица 10.2

где к - номер шага (к = 1, 2,...); і - номер направляющей строки; j -

номер направляющего столбца; £ = 0, т+п, т.е. все элементы направ­ляющей строки делим на направляющий элемент, в итоге направляю­щий элемент стал равным единице; а<*+1) = 1.

  1. В направляющем столбце необходимо получить а‘*+1) = 0, для всех

г = I, т, гїі, при а Jt+1) = 1, т.е. в направляющем столбце должны быть все нули кроме направляющего элемента, который равен единице.

Для всех остальных элементов, включая индексную строку, произ­водим вычисления

a(t)a(t) aH

Симплексные преобразования повторяют до тех пор, пока не реа­лизуется один из двух возможных исходов:

а) все а01 > 0- это условие оптимальности базиса последней таб­лицы;

б) найдется такой элемент aQ. < 0, при котором все элементы стол­бца а^< 0, - это признак неограниченности целевой функции на множе­стве допустимых решений.

Пример решения задачи линейного программирования. Рас­смотрим задачу линейного программирования в следующем виде:

найти максимум линейной формы Axx + Зх2 при ограничениях

хх < 4000, X1 <6000, хх +~^х2 - 6000, Jc1, Jc2 >0.

Каноническая форма задачи линейного программирования будет иметь вид

С,

4

3

0

0

0

B1

Ao

А,

A2

А,

A4

As

0

хг

4000

1

0

1

0

0

0

Xi

6000

0

1

0

1

0

0

Xi

6000

1

2

3

0

0

1

0

-4

-3

0

0

0


Поскольку —4 < —3 < 0, то в качестве направляющего выбираем пер­

вый столбец. Составив отношение вида -j — к определяем направляю­щи J

щую строку. Для этого находим минимальное отношение

. Г4000 6000 6000] Лппп „ mmj—j—, —в , —j— > = 4000. Следовательно, направляющая строка -

первая, направляющий элемент -O11=I. Применив первый шаг симп­лексного преобразования, получим новую таблицу (табл. 10.3).

Таблица 10.3

С,

4

3

0

0

0

В,

Ar,

А,

A2

A3

A4

As

4

Xl

4000

1

0

1

0

0

0

Xa

6000

0

1

0

1

0

0

Xi

2000

0

2

3

- 1

0

1

16000

0

-3

4

0

0

второй, направляющая строка - третья, т.к. 2000 < 6000 < 4000 . При-

2/3 I О

меним следующий шаг симплексного преобразования. В результате по­лучим табл. 10.4

Таблица 10.4

C1

4

3

0

0

0

Bx

Ao

А,

A1

А3

A4

As

4

X1

4000

1

0

1

0

0

0

X4

3000

0

0

3

2

1

3

2

3

хг

3000

0

1

3

2

0

3

2

25000

0

0

1

2

0

9

2

Так как адз = —^ < 0, то направляющий столбец Av направляющая

3

строка - вторая, направляющий элемент O23 = -. Выполним очередной шаг преобразования, получим еще одну таблицу (табл. 10.5).

Таблица 10.5

C1

4

3

0

0

0

В,

Ao

А,

A1

Аз

A4

As

4

Xx

2000

1

0

0

2

3

1

0

х3

2000

0

0

1

2

3

-1

3

Xi

6000

0

1

0

1

0

26000

0

0

0

1

з

4

Поскольку в индексной строке все элементы положительны, это означает, что найдено оптимальное решение X10= 2000, X20 = 6000, х30 = 2000. Искомое значение целевой функции равно 4 X1 + Зх2= 26000.

  1. Двойственная задача линейного программирования

Структура и свойства двойственной задачи. Почти всякую ЗЛП можно рассматривать как экономическую задачу о распределении ре­сурсов bl,b2,...,bm между различными потребителями, например, меж­ду некоторыми технологическими процессами A1, A2,...,Ав. Любое до­пустимое решение ЗЛП X1, х2,..., хп дает конкретное распределение, указывающее ту долю каждого из ресурсов, которая должна быть ис­пользована при осуществлении соответствующего технологического процесса.

Рассмотрим пример. Завод производит три вида продукции х(, х2, х3, каждый из которых требует затрат времени на обработку на токар­ном, фрезерном и сверлильном станках. Количество машинного времени для каждого из станков ограниченно. Пусть с(, с2, с3 - прибыль от реа­лизации единицы соответствующего вида продукции. Требуется опре­делить, каше количество каждого вида продукции необходимо произ­водить в течение заданного интервала времени, чтобы получить мак­симальную прибыль.

Формально задача записывается так: найти

max (с,х, +C2X23х3)

Jt1 г* j

при ограничениях

'O11X1+O12X2+OuX3Zbl-,

• O21X1+O22X2+ а23х3 ^b2;

O3iX,+ а32х2+ а33х3 3,

где Olj, O2., а - время, необходимое для обработки единицы j-то вида продукции соответственно на токарном, фрезерном и сверлильном стан­ках Q = 1,2, 3); bv b2, Ь3 - ресурс машинного времени соответственно для токарного, фрезерного и сверлильного станков. Сформулированная задача является прямой ЗЛП.

Рассмотрим далее задачу в несколько иной постановке. Обозначим через U, U2, U3 цену единицы времени работы на токарном, фрезер­ном и сверлильном станках соответственно, тогда anU+a2lU2+a3lU3 можно трактовать как расходы на изготовление единицы продукции первого вида, al2U+a22U2+a32U3 - расходы на изготовление единицы продукции второго вида, al3Ux+a23U2+a33U3 - расходы на изготовление единицы продукции третьего вида.

Для величин расходов выполняются следующие соотношения:

  1. 31^3 — С\

■ Cil2Xl+a22U2 +a32U32; (10.7)

CiliUi + Ci23U2 + я33*33.

Учитывая, что Ьх, Ь2, Ьъ - использованный ресурс машинного вре­мени для каждого из станков, тоща biU+b2U2+biUi - суммарные рас­ходы на производство.

Требуется найти такие U1, U2, Uj, удовлетворяющие условиям (10.7), при которых минимизируются суммарные расходы на производство. Таким образом, целевую функцию можно записать в виде

min g(U) = biUl+b2U2+b3U3, (10.8)

U1,U2tU3

причем U1, U2, U1 > 0.

Задачу (10.8) с ограничениями (10.7) называют двойственной зада­чей по отношению к прямой, сформулированной ранее.

Соотношение прямой и двойственной задач. Между прямой и двойственной задачами имеет место взаимно однозначное отношение. Имея прямую задачу, всеща можно перейти к двойственной и наобо­рот. Данное отношение находит выражение в виде следующих правил:

  1. если прямая задача является задачей максимизации, то двой­ственная будет задачей минимизации и наоборот;

  2. коэффициенты целевой функции прямой задачи C1, с2,..., си стано­вятся свободными членами ограничений двойственной задачи;

  3. свободные члены ограничений прямой задачи bi,b2,...,bm стано­вятся коэффициентами целевой функции двойственной задачи;”

  4. матрицу ограничений двойственной задачи получают транспони­рованием матрицы ограничений прямой задачи;

  5. знаки неравенств в ограничениях изменяются на обратные;

  6. число ограничений прямой задачи равно числу переменных двой­ственной задачи, а число ограничений двойственной задачи равно чис­лу переменных прямой задачи.

Переменные Ui, U2,..., Um двойственной задачи называют «тене­выми ценами». Двойственную задачу выгоднее решать, чем исходную прямую, если в прямой задаче при малом количестве переменных > п) имеется большое количество ограничений.

Запишем обе задачи в матричном виде.

Прямая задача. Найти max/(X) = тахСтХ при AX < A0; X > 0.

Двойственная задача. Найти ming(t7) = A0tC/ при AtU > С; U > 0.

Связь между оптимальными решениями прямой и двойственной задач устанавливается посредством следующих теорем.

Теорема 1. Если Х0и U0 - допустимые решения прямой и двой­ственной задач, т.е. если AX < A0 и AtU > С, то CtX0 < A0U0, т.е. зна­чения целевой функции прямой задачи никоща не превышают значений целевой функции двойственной задачи.

Теорема 2. Если X0 и U0 - допустимые решения прямой и двой­ственной задач и если CtX0 = UrA0, то X0 и U0 - оптимальные реше­ния этих задач.

Таким образом, получено, что если прямая задача есть задача мак­симизации, то двойственная задача—задача минимизации. Остановимся на особенностях решения задач минимизации. Первое правило гласит, что в задачах минимизации направляющий столбец определяют по наи­большему положительному элементу индексной строки. Правило оста­новки для задачи минимизации формулируется так: все элементы ин­дексной строки должны быть неположительными, т.е. aQJ< 0. И, нако­нец, главная сложность, возникающая при решении задач минимизации,

  • это выбор первоначального базиса. Дело в том, что при решении за­дач минимизации область допустимых значений ограничивается снизу,

т.е. ограничения имеют вид A7U > С; U >0 При приведении системы ограничений к каноническому виду дополнительные переменные вво­дятся в модель с отрицательными знаками. По этой причине они не могут быть введены в базис. Отметим также, что в общем случае постанов­ки задач линейного программирования допускают в ограничениях зна­ки неравенств как «больше или равно», так и «меньше или равно». Не­равенства, в которых имеет место знак «меньше или равно», приводят­ся к каноническому виду путем добавления в первоначальный базис дополнительной переменной, как это было продемонстрировано при ре­шении задачи максимизации симплекс-методом. Для неравенств, име­ющих знак «больше или равно», дополнительная переменная вводится с отрицательным знаком, и в базис введена быть не может. По этой причине определение начального допустимого базиса в общем случае представляет значительные трудности. Для нахождения допустимых базисных решений разработаны специальные методы. Рассмотрим один из них.