Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
GOSY / 2 блок-все.pdf
Скачиваний:
78
Добавлен:
09.05.2015
Размер:
1.5 Mб
Скачать

Коэффициенты ci также образует вектор, который называется вектором ресурсов. Элементы bi образуют вектор с названием вектор запасов. Для удобства решения принято приводить задачу от общей постановки к специальному стандартному виду.

Требования к стандартному виду задачи ЛП:

1)Параметры хi должны быть больше или равны нулю (хi³0). Если есть такое ограничение, которое

допускает отрицательное значение хi, то делают замену переменных так, чтобы новое хi не было отрицательным.

2)Ограничения в виде неравенств преобразуются в

ограничения в виде равенств.

 

 

3) Элементы,

стоящие

справа

должны

быть

неотрицательными в равенствах, то есть bi³0.

2.Приведение задачи линейного программирования к стандартной форме

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

1.Сделаем все неизвестные параметры неотрицательными. xi

≥ 0

xk > a

=>

xk = xk+a+ xk’’

xk ≥ a

=> xk= xk+a

xk < a

=>

xk = a- xk- xk’’

xk ≤ a

=>

 

xk = a- xk

xk- любое

=>

xk = xk- xk’’

Если xk- любое, то мы можем его представить как xk = xk- xk’’ при xk ≥ 0 , xk’’ ≥ 0 . Таким образом, количество переменных увеличивается на одну. Принято новые переменные, которые нам потребуется ввести дополнительно называть избыточными.

110

xk= xk – a ≥ 0,

xk= а - xk ≥ 0 , xk ≤ a , следовательно, -xk ≥ - a

xk – a > 0

В этих случаях вводить новую переменную не надо.

xk – a - xk ≥ 0 xk= xk - а - xk ≥ 0 xk ≥ 0

если xk < a, а - xk>0 xk= a - xk - xk ≥ 0 xk ≥ 0

Если заменить эти неизвестные (и в целевой функции), то новые переменные со штрихом будут положительными.

2. Преобразуем неравенства в равенства:

аij xj≤ bi

(a)

аij xj ≥ bi

(б)

В случае (а) к сумме нужно прибавить избыточную переменную:

аij xjизб= b”i.

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

3. Когда вектор запаса получен, надо сделать его элементы неотрицательными b’i≥ 0. Пусть в каком-то k-ом ограничении получено отрицательное значение:

а’kj xj = b’k<0

Здесь обозначено - ’’ (двойной штрих) - неравенство (матрица неравенств), (один штрих) - для ограничений в

111

виде равенств. Далее, в стандартной форме штрихами не будем пользоваться.

Существует два варианта нужного преобразования:

Умножить все на -1

akj=- а’kj

аkj xj =- b’k= bk >0.

Прибавить избыточную переменную

а’kj xjизб= bk=0.

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

О.Решение задачи ЛП – набор значений (вектор) переменных задачи ЛП.

О.Допустимое решение ЛП – решение задачи ЛП, которое

удовлетворяет всем ограничениям задачи.

О.Область допустимых решений (допустимая область)

множество всех допустимых решений задачи ЛП.

О.Оптимальное допустимое решение – допустимое

решение, для которого целевая функция имеет максимальное\минимальное значение целевой функции в допустимой области.

Ограничения в линейной задаче представляют в общем случае некие гиперплоскости. Для 2-х переменных это прямая, для 3- х переменных - плоскость, для 4-х и более переменных - гиперплоскость. При этом допустимая область для 2-х переменных – часть плоскости (многоугольник), для 3-х переменных – 3-х мерный многогранник, для 4-х и более переменных – многомерный многогранник. Характерной особенностью всех этих видов допустимых областей – наличие вершин, где пересекаются гиперплоскости.

Теорема (Правило вершин). Оптимальное решение задачи линейного программирования достигается в одной из вершин области.

Как найти вершины допустимой области:

112

Любая вершина допустимой области соответствует базисному решению задачи. Но не всякое базисное решение является вершиной, а только допустимое базисное решение.

Допустимое базисное решение у которого значение базисных переменных не отрицательны. Т.о для отыскания оптимального решения, достаточно проверить всё допустимые базисные решения Можно было их просматривать подряд, но есть более быстрые

способы, выделяют 2 основных 1) графический метод

Суть графического метода – построить изображение допустимой области, попытаться проанализировать. Этот вариант удобен только для двумерной допустимой области.

2) симплекс метод

Суть метода: для того чтобы найти наилучшую вершину области мы последовательно перебираем смежные вершины так, чтобы в ней значение функции было лучше чем в текущей вершине (для максимума лучше там, где значение функции >, для минимума - <).

Симплекс метод должен начинаться с выбора начального допустимого базисного решения. Предлагаются три варианта нахождения начального допустимого базисного решения:

Метод искусственного базиса Метод искусственной целевой функции Метод большого коэффициента М

2. Алгоритм симплекс-метода

Теперь можно сформулировать окончательный алгоритм симплекс-метода:

1)необходимо найти начальное базисное решение (система приведена к стандартному и каноническому виду)

2)делаем оценки для всех небазисных переменных (оценки базисных переменных равны нулю)

113

3)если мы ищем максимум, то проверяем положительные оценки, если минимум – отрицательные. Среди оценок выбираем для максимума – наибольшие, для минимума – наименьшие. Эту переменную необходимо ввести в

базис.

4)если найдена переменная, которую нужно ввести в

базис, то по правилу минимального отношения находим переменную, которую удаляем из базиса и новое значение переменной, которую вводим в

базис. Если нужных оценок не найдено, то это значит, что мы нашли максимум или минимум, значит, задача решена, далее – выход.

5)если не произошло выхода, то мы преобразуем каноническое ограничение так, чтобы новая базисная переменная осталась бы только в одном ограничении, тогда мы получим каноническую формулу для нового базиса, далее возврат к пункту № 2.

114

115

42.Основные понятия теории игр. Чистые и смешанные стратегии игры. Седловая точка игры и её поиск.

На практике часто приходится сталкиваться с задачами, в которых необходимо принимать решения в условиях неопределенности, т.е. возникают ситуации, в которых две (или более) стороны преследуют различные цели, а результаты любого действия каждой из сторон зависят от мероприятий партнера. Такие ситуации, возникающие при игре в шахматы, шашки, домино и т.д., относятся к конфликтным: результат каждого хода игрока зависит от ответного хода противника, цель игры — выигрыш одного из партнеров.

Математическая модель конфликтной ситуации называется игрой, стороны, участвующие в конфликте, — игроками, а исход конфликта — выигрышем.

Игра – это конфликтная ситуация, в которой участвуют несколько сторон, цели которых либо противоположны, либо просто не совпадают.

Для создания модели игры:

1.мы должны описать игровую ситуацию;

2.задать правила игры.

3.задать критерии выигрыша и проигрыша.

Игра называется парной, если в ней участвуют два игрока, и множественной, если число игроков больше двух. Мы будем рассматривать только парные игры. В них участвуют два игрока А и В, интересы которых противоположны, а под игрой будем понимать ряд действий со стороны А и В. Игра называется игрой с нулевой суммой, или антагонистической, если выигрыш одного из игроков равен проигрышу другого, т.е. для полного задания игры достаточно указать величину одного из них. Если обозначить а — выигрыш одного из игроков, b — выигрыш другого, то для игры с нулевой суммой b = - а, поэтому достаточно рассматривать, например а.

116

Выбор и осуществление одного из предусмотренных правилами действий называется ходом игрока. Ходы могут быть личными и случайными. Личный ход — это сознательный выбор игроком одного из возможных действий (например, ход в шахматной игре). Случайный ход — это случайно выбранное действие (например, выбор карты из перетасованной колоды). В дальнейшем мы будем рассматривать только личные ходы игроков. Стратегией игрока называется совокупность правил, определяющих выбор его действия при каждом личном ходе в зависимости от сложившейся ситуации. Обычно в процессе игры при каждом личном ходе игрок делает выбор в зависимости от конкретной ситуации. Однако в принципе, возможно, что все решения приняты игроком заранее (в ответ на любую сложившуюся ситуацию). Это означает, что игрок выбрал определенную стратегию, которая может быть задана в виде списка правил или программы. (Так можно осуществить игру с помощью ЭВМ). Игра называется конечной, если у каждого игрока имеется конечное число стратегий, и бесконечной — в противном случае.

Для того чтобы решить игру, или найти решение игры, следует для каждого игрока выбрать стратегию, которая удовлетворяет условию оптимальности, т.е. один из игроков должен получать максимальный выигрыш, когда второй придерживается своей стратегии. В то же время второй игрок должен иметь минимальный проигрыш, если первый придерживается своей стратегии. Такие стратегии называются оптимальными. Оптимальные стратегии должны также удовлетворять условию устойчивости, т.е. любому из игроков должно быть невыгодно отказаться от своей стратегии в этой игре.

Если игра повторяется достаточно много раз, то игроков может интересовать не выигрыш и проигрыш в каждой

117

конкретной партии, а средний выигрыш (проигрыш) во всех партиях.

Классификация игр:

1)По случайности выигрыша: азартные, стратегические. В азартных играх выигрыш случайный, в стратегических выигрыш зав-т от выбранной игроком стратегии.

2)По количеству участников: одиночные, парные, коалиционные (множественные).

3)По виду конфликтной ситуации: антагонистические (когда игроки имеют противоречивые, противоположные интересы), кооперативные (цели сторон могут частично совпадать).

4)По видам игровой ситуации (это различие по модели игры): деловая игра, экономические игры, военные и т.д.

5)По методу решения: рефлексивные (в них моделируется поведение противника: шахматы, карты ит.д.), дифференциальные (это игры-преследования, например, самолет и ракета из военных игр).

6)По результату игры: общего выигрыша, общего проигрыша, нулевой суммы. Если в рез-те игры сумма выигрышей и проигрышей >0, то это общий выигрыш (в экономике: убытки+прибыль <,>0). Если сумма выгр и проигр <0, то это общий проигрыш, при этом считается выигр положит-м, проигр отрицат-м (стихийное бедствие ударило по экономической игре – все в проигрыше). Нулевая сумма, когда выиг+проиг=0 (в карты: ты выиграл, ты и проиграл).

7)По количеству ходов: конечная игра, одноходовая, многоходовая, бесконечная, конечная. Многоходовые часто можно представить как последовательность одноходовых (одноходовые – карты, многоходовые - шахматы). Пример бесконечной игры – экономические игры.

8)По количеству стратегий (вариантов ходов): с конечным числом стратегий, с бесконечным счетным мн-вом, с конечным несчетным мн-вом.

118

9) По количеству информации: с полной информацией, игры с неполной информацией.

Рассмотрим парную конечную игру. Пусть игрок А располагает m личными стратегиями, которые обозначим A1, A2, ..., Am. Пусть у игрока В имеется n личных стратегий, обозначим их B1, B2, ..., Bm. Говорят, что игра имеет размерность m × n. В результате выбора игроками любой пары стратегий Ai и Bj (i = 1, 2, ..., m; j = 1, 2, ..., n) однозначно определяется исход игры, т.е. выигрыш aij игрока А (положительный или отрицательный) и проигрыш (- aij ) игрока В. Предположим, что значения о,у известны для любой пары стратегий (Ai ,Bj ). Матрица P = (aij ), i = 1, 2, ..., m; j = 1, 2, ..., n, элементами которой являются выигрыши, соответствующие стратегиям Ai и Bj , называется платежной матрицей или матрицей игры.

Строки этой таблицы соответствуют стратегиям игрока А, а столбцы — стратегиям игрока В. Составим платежную матрицу для следующей игры.

Пример 3.2.1. Рассмотрим игру m × n с матрицей P = (aij ), i = 1, 2, ..., m; j = 1, 2, ..., n и определим наилучшую среди стратегий A1, A2, ..., Am. Выбирая стратегию Ai игрок А должен рассчитывать, что игрок В ответит на нее той из стратегий Bj , для которой выигрыш для игрока А минимален (игрок В стремится "навредить" игроку А). Обозначим через αi , наименьший выигрыш игрока А при выборе им стратегии Ai для всех возможных стратегий игрока В (наименьшее

119

число в i-й строке платежной матрицы), т.е. (3.1)

Среди всех чисел αi (i = 1, 2, ..., m) выберем наибольшее: . Назовем α нижней ценой игры, или максимальным выигрышем (максимином). Это гарантированный выигрыш игрока А при любой стратегии игрока В. Следовательно,

(3.2)

Стратегия, соответствующая максимину, называется максиминной стратегией. Игрок В заинтересован в том, чтобы уменьшить выигрыш игрока А; выбирая стратегию Bj , он учитывает максимально возможный при этом выигрыш для А.

Обозначим (3.3)

Среди всех чисел Bj ; выберем наименьшее и назовем β верхней ценой игры или минимаксным выигрышем (минимаксом). Это гарантированный проигрыш игрока В.

Следовательно, (3.4)

Стратегия, соответствующая минимаксу, называется минимаксной стратегией. Принцип, диктующий игрокам выбор наиболее "осторожных" минимаксной и максиминной стратегий, называется принципом минимакса. Этот принцип следует из разумного предположения, что каждый игрок стремится достичь цели, противоположной цели противника. Определим нижнюю и верхнюю цены игры и соответствующие стратегии в задаче. Рассмотрим платежную

матрицу

120

из примера 3.2.1. При выборе стратегии A1 (первая строка матрицы) минимальный выигрыш равен α1 = min (-1;1) = -1 и соответствует стратегии β1, игрока В. При выборе стратегии A2 (вторая строка матрицы) минимальный выигрыш равен α2

=min (1;-1) = -1, он достигается при стратегии B2. Гарантируя себе максимальный выигрыш при любой стратегии игрока В, т.е. нижнюю цену игры α = max (α1 ;α2 ) = max (-1;-1) = -1 игрок А может выбирать любую стратегию: A1 или A2, т.е. любая его стратегия является максиминной. Выбирая стратегию B1 (столбец I), игрок В понимает, что игрок А ответит стратегией A2, чтобы максимизировать свой выигрыш (проигрыш В). Следовательно, максимальный проигрыш игрока В при выборе им стратегии B1 равен β1 = max (-1;-1).

Аналогично максимальный проигрыш игрока В (выигрыш А) при выборе им стратегии B2 (столбец 2) равен β2 = max (1;-1)

=1.

Таким образом, при любой стратегии игрока А гарантированный минимальный проигрыш игрока В равен β2 = min (β1 ;β2 ) — верхней цене игры.

Любая стратегия игрока В является минимаксной. Дополнив таблицу 3.1 строкой β j и столбцом αi , получим таблицы 3.2. На пересечении дополнительных строки и столбца будем

записывать верхнюю и нижнюю цены игр.

 

Таблица

3.2

В примере 3.2.1, рассмотренной выше, верхняя и нижняя цены игры различны: α ≠ β.

121

Если верхняя и нижняя цены игры совпадают, то общее значение верхней и нижней цены игры α = β = v называется чистой ценой игры, или ценой игры. Минимаксные стратегии, соответствующие цене игры, являются оптимальными стратегиями, а их совокупность — оптимальным решением, или решением игры. В этом случае игрок А получает максимальный гарантированный (не зависящий от поведения игрока В) выигрыш v, а игрок В добивается минимального гарантированного (вне зависимости от поведения игрока А) проигрыша v. Говорят, что решение игры обладает устойчивостью, т.е. если один из игроков придерживается своей оптимальной стратегии, то для другого не может быть выгодным отклоняться от своей оптимальной стратегии.

Пара чистых стратегий Ai и Bj дает оптимальное решение игры тогда и только тогда, когда соответствующий ей элемент aij , является одновременно наибольшим в своем столбце и наименьшим в своей строке. Такая ситуация, если она существует, называется седловой точкой (по аналогии с поверхностью седла, которая искривляется вверх в одном направлении и вниз — в другом).

Обозначим А* и В* — пару чистых стратегий, на которых достигается решение игры в задаче с седловой точкой. Введем функцию выигрыша первого игрока на каждой паре стратегий: P (Ai , Bj ) = aij .Тогда из условия оптимальности в седловой точке выполняется двойное неравенство: P (Ai , B* ) ≤ P (A*, B* ) ≤ P (A* , Bj ), которое справедливо для всех i = 1,

..., m; j = 1, ..., n. Действительно, выбор стратегии А* первым игроком при оптимальной стратегии В* второго игрока максимизирует минимальный возможный выигрыш: P (A*, B* ) ≥ P (Ai , B* ), а выбор стратегии В* вторым игроком при оптимальной стратегии первого минимизирует максимальный проигрыш: P (A*, B* ) ≤ P (A*, Bj ).

Если игра не имеет седловой точки, то применение чистых стратегий не дает оптимального решения игры. Так, в примере

122

3.2.1 α ≠ β, седловая точка отсутствует. В таком случае можно получить оптимальное решение, случайным образом чередуя чистые стратегии.

Смешанной стратегией SA игрока А называется применение чистых стратегий A1, A2, ..., Am с вероятностями p1, p2, ..., pi,

..., pm причем сумма вероятностей равна 1.

Смешанные стратегии игрока А записываются в виде

матрицы

или в виде строки SA = (p1, p2, ..., pi, ..., pm) Аналогично смешанные стратегии игрока В обозначаются:

или SB = (q1, q2, ..., qi, ..., qn), где сумма вероятностей появления стратегий равна 1. Чистые стратегии можно считать частным случаем смешанных и задавать строкой, в которой 1 соответствует чистой стратегии. На основании принципа минимакса определяется оптимальное решение (или решение) игры: это пара оптимальных стратегий S*A , S*B в общем случае смешанных, обладающих следующим свойством: если один из игроков придерживается своей оптимальной стратегии, то другому не может быть выгодно отступать от своей. Выигрыш, соответствующий оптимальному решению, называется ценой игры v. Цена игры удовлетворяет неравенству: α ≤ v ≤ β (3.5), где α и β — нижняя и верхняя цены игры. Справедлива следующая основная теорема теории игр — теорема Неймана. Каждая конечная игра имеет по крайней мере одно оптимальное решение, возможно, среди смешанных стратегий. Пусть S*A = (p*1, p*2, ..., p*i, ..., p*m) и S*B = (q*1, q*2, ..., q*i, ..., q*n) — пара оптимальных стратегий. Если чистая стратегия входит в оптимальную

123

смешанную стратегию с отличной от нуля вероятностью, то она называется активной.

Справедлива теорема об активных стратегиях: если один из игроков придерживается своей оптимальной смешанной стратегии, то выигрыш остается неизменным и равным цене игры v, если второй игрок не выходит за пределы своих активных стратегий.

Эта теорема имеет большое практическое значение — она дает конкретные модели нахождения оптимальных стратегий при отсутствии седловой точки.

124

125

43.Транспортная задача: постановка задачи, поиск опорного плана, оптимизация решения.

Транспортную задачу решают особым способом. Пусть задано N поставщиков (А1, А2,..Аm). Эти поставщики отправляют продукцию получателям (B1, B2,..Bn).Каждый поставщик может привезти продукцию любому получателю, но по разной стоимости С. С- стоимость перевозчика от Аi к Вj и обозначается Сij. Обозначим (а1, а2,..аm) - запасы поставщика, (b1, b2,..bn)- требования получателя. Новая задача называется сбалансированной, если сумма всех ресурсов равна сумме всех заявок. Если задача не сбалансирована, то её приводят к балансу.

1.аi < ∑bj - не хватает товара на всех складах, надо ввести новый фиктивный склад такой , чтобы Aфик=∑bj - ∑аi , Сф=∞

2.аi > ∑bj - на складах больше продукции чем надо для магазинов, тогда вводим новый фиктивный магазин.

Общая задача: построить такой план перевозок xij из Аi в Вj ,

чтобы общая стоимость перевозок была минимальной.

Кроме общего условия баланса надо сделать баланс по каждому магазину.

x11

+ x21+…+ xm1 = b1

x12

+ x22+…+ xm2 = b2

 

….......................

x1n

+ x2n+…+ xmn = bn

Условие баланса для складов

x11 + x12+…+ x1n = a1 x21 + x22+…+ x2n = a2

….......................

xm1 + xm2+…+ xmn = am

Фактически это особый вариант задачи ЛП. Количество переменных n*m. Количество ограничений n+m-1 (базис), а n*m-n-m+1 вне базиса.

126

Эту задачу можно решать симплекс методом, но существуют более простые варианты решения.

2.Табличный метод решения транспортной задачи

Для решения транспортной задачи чаще всего используется табличный метод

В левом нижнем (или верхнем) углу каждой клетки записывается значение Сij.- цена клетки. В правом углу клеток

записываются текущие значения xij . Для того чтобы вносить

меньше цифр, принять нулевые значения xij их не пишут,

оставляют пустыми. Заполненная таблица называется планом

перевозок.

Допустимый план - в котором по каждой строке и столбцу выполняется баланс. В этом случае удовлетворяются все ограничения.

Опорный план - в котором ¹ 0 только m+n-1 клетки, т.е. базисные клетки, все остальные должны быть пустыми.

Особенности заполнения таблицы транспортной задачи:

сначала заполняется левый столбец и верхняя строчка; затем вносятся балансовые столбец и строчка и считается сумма;

в верхнем правом углу каждой клетки записывается соответствующая стоимость cij ;

для матрицы х нулевые значения не пишутся;

127

последними записываются стоимости (записывается общая стоимость всего плана).

Если в этой таблице поставить вместо xij , так что по строке и

по столбцу суммы были равны балансовым, то говорят, что построен «план перевозок» (те цифры, которые сходятся по балансу). Иногда этот план наз. допустимым планом.

По аналогии с симплекс методом можно сформулировать правило подобное правилу вершин: оптимальным планом будет являться один из опорных планов.

Т.о. имеет смысл по аналогии с симплекс методом построить начальный опорный план, а затем переходить от одного опорного плана другому, смежному.

Для получения начального опорного плана есть 2 метода:

1)метод северо-западного угла;

2)метод наименьших затрат.

Для получения нового опорного плана:

метод циклических перестановок; метод потенциалов Контаровича.

Метод северно–западного угла.

Северо-западным углом называют клетку на пересечении первой строки и первого столбца.

стараемся максимально удовлетворить первого потребителя; завершив первого потребителя, переходим на второго и т.д. Т.к. баланс задачи выполнен, то дойдя до последнего поставщика, мы увидим последнего потребителя.

Главное достоинство этого метода состоит в том, что он работает при любых значениях баланса, стоимости, но план не оптимален.

Метод наименьших затрат

Этот метод логически более сложен, но план более оптимален. Основная идея: прежде всего удовлетворить те потребности, которые стоят меньше.

ищем клетку с наименьшей стоимостью;

128

работаем с этим потребителе и поставщиком (одна строка и один столбец заполнены); опять ищем наименьшую стоимость.

Нет гарантии, что план будет опорным. Тогда мы должны лишние клетки очистить, переместив перевозки в другие клетки с столбцах или строках.

Метод циклических перестановок

Клетки, которые располагаются в некотором прямоугольном цикле (замкнутом), можно переставлять. У каждого цикла есть стоимость:

S y = x(20 − 8)

+ x(10 − 15) = x7

В этом методе нужно искать циклы, у которых положительная цена.

Аналогично этот метод может быть использован, для перехода от одного опорного плана к другому.

Возможны следующие варианты:

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

Нам выгодно отсортировать клетки по стоимости, чтобы они находились в разных столбцах. Внутри оптимального плана возможны перестановки между четырьмя заполненными.

Замечание: Недостатком метода циклов является неопределенность с клетками, которые необходимо использовать в цикле, поэтому Контарович предложил метод, с помощью которого можно находить такие клетки.

Метод потенциалов Контаровича

В этом методе оценивается потенциал пустых клеток таблицы транспортной задачи. Этот потенциал показывает можно ли, перемещая потоки в эту клетку улучшить план. Существует

теорема о потенциалах:

129

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

правило нахождения оценки для свободных клеток:

1) для каждого столбца и для каждой строки нужно ввести фиксированные потенциалы: ui ; vj ; если они прибавляются к

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

Если менять по циклу данную клетку с клеткой с большим потенциалом, то план улучшится, и наоборот.

Мы получаем систему уравнений: cij ³ ui + vj (эти клетки не подходят для циклов)

cij £ ui + vj (эти клетки подходят для улучшения плана)

2) обычно количество потенциалов больше, чем количество этих уравнений, в результате часть потенциалов оказывается неопределенными, тогда их либо обнуляют, либо подбирают так, чтобы количество отрицательных клеток было - минимальное значение.

В результате мы определяем все клетки, где затраты меньше суммы потенциалов, и пытаемся для этих клеток построить циклы. Если этот процесс будет происходить многократно, но на каком-то этапе клеток не окажется вообще, это значит, что мы нашли минимум издержек – оптимальный план.

Замечание: Следует учитывать, что оптимальное решение находится как базисное при котором количество ненулевых клеток фиксировано и минимально, при построении начального плана, план может быть не базисным. Иногда полученный план приводят к базисному не важно лучше это

130

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

131

44 Понятие графа, методы описания графа, виды графов. Эйлеровы и гамильтоновы графы.

Пусть X - произвольное непустое множество и Х× Х - его декартов квадрат, т.е. множество всех упорядоченных пар (x1, x2) из элементов множества X. Если множество X - конечно и состоит из п элементов, то его декартов квадрат Х× Х содержит п2 пар, и пары (x1, x2) и (x2, , x1) являются различными элементами множества Х× Х при x1 ¹ x2 - Иногда множество Х× Х называют упорядоченным произведением множества X на себя.

Рассмотрим теперь так называемое неупорядоченное произведение Х&Х множества X на себя, которое определяется как множество всех неупорядоченных пар из элементов множества X. Элементы из Х&Х будем обозначать (х12). Ясно, что во множестве Х&Х пары } 2) и (х2 &x2) не различимы. Если множество X - конечно и состоит из п

элементов, то множество Х&Х содержит

n(n 1)

элементов.

 

2

 

Графом G(V, E, f) называется совокупность непустого множества V, изолированного от него произвольного множества Е и отображения f:E—> V&V множества Е в V&V, которое каждому элементу из Е ставит в соответствие некоторый элемент из V&V. При этом множества V и Е называются соответственно множеством вершин и множеством ребер графа G(V, Е, f), а отображение f называется отображением инциденции этого графа.

часто вершины и ребра графа объединяются одним общим термином - элементы графа.

граф G это совокупность двух множеств: вершин V и ребер Е, между элементами которых определено отношение инцидентности - каждое ребро е Е инцидентно ровно двум вершинам v', v" V, которые оно соединяет. При этом вершина v' (v") и ребро е называются инцидентными друг

132

другу, а вершины v' и v", являющиеся для ребра е концевыми точками, называются смежными Ребро, соединяющее две вершины, может иметь направление

от одной вершины к другой; в этом случае оно называется

направленным, или ориентированным, или дугой и

изображается стрелкой, направленной от вершины, называемой началом, к вершине, именуемой концом.

Граф, содержащий направленные ребра (дуги) с началом v' и концом v", называется ориентированным (орграфом), а ненаправленные – неориентированным.

Ребра, инцидентные одной и той же паре вершин, называются

параллельными, или кратными.

Граф, содержащий кратные ребра, именуется мулътиграфом. Ребро, концевые вершины которого совпадают, называется

петлей.

Граф называется конечным, если множество его элементов (вершин и ребер) конечно.

Замечание. Мы будем рассматривать неориентированные графы без петель и кратных ребер.

Граф без петель и кратных ребер именуется полным, если каждая пара вершин соединена ребром. По-другому, граф называется полным, если каждая вершина соединена со всеми остальными.

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

Локальной степенью (или просто степенью) вершины v V

графа G называется количество ребер ρ (v) , инцидентных вершине v.

Способы задания графов

Мы познакомились с двумя способами описания графов: графическим, и в виде двух множеств вершин V и ребер Е,

133

когда каждое ребро е Е определено парой инцидентных ему концевых вершин (v', v ").

Рассмотрим другие способы, используемые в теории графов. В общем виде задать граф - - значит описать множества его вершин и ребер, а также отношение инцидентности. Для описания вершин и ребер достаточно их занумеровать.

Пусть v1,v2,... ,v.,... ,vn - вершины графа G; e1, e2,... ,e.,... ,em- ребра. Отношение инцидентности задается:

матрицей инцидентности ||ε ij|| размера т х п : по вертикали и горизонтали указываются вершины и ребра соответственно, а на пересечении i-и вершины и j-го ребра проставляется 1, если они инцидентны, и 0 - в противном случае, т.е.

 

ì

1, если реброe1

 

ï

инцидентно вершинеv ,

ε ij =

ï

1

í

0,если реброe

 

ï

 

1

 

ï

неинцидентно вершинеv .

 

î

1

списком ребер графа, представленным двумя столбцами: в левом перечисляются все ребра, а в правом – инцидентные ему вершины.

матрицей смежности|| δ kl || -- квадратной матрицей

размера п х п по вертикали и горизонтали перечисляются все вершины графа, а на пересечении k-и и l-й вершин 1 – если вершины смежны и 0 – в противном случае.

Определение. Назовем цепью последовательность ребер {u1 ,u2 ,...} такую, что каждое ребро иk соприкасается одним

из концов с ребром uk-1 (если оно существует), а другим — с uk+1 (если оно существует).

Иными словами, цепь последовательность ребер, таких, что два соседних ребра соединены между собой.

Существует понятие путь, более широкое, чем цепь. Это понятие объединяет понятия цепь для неориентированных графов и аналог для ориентированных графов, где существует направление движения.

134

Определение. Две вершины называют связными, если существует какой-либо путь между ними.

Определение. Назовем цепь простой, если никакое ребро не входит в нее дважды. Цепь, не являющейся простой называют составной.

Определение. Назовем цепь элементарной, если никакая вершина не входит в нее дважды. Цепь, не являющейся элементарной, называют неэлементарной.

Определение. Циклом называется конечная цепь, в которой начало первого ребра совпадает с концом последнего. Определение. Назовем цикл элементарным, если все вершины, через которые он проходит, различны (естественно, за исключением начальной и конечной, которые совпадают по смыслу понятия цикла). Определение. Назовем цикл простым, если все ребра, через которые он проходит различны.

Циклы называются эквивалентными, если они проходят одни и те же вершины в одинаковом порядке.

Определение. Граф G называется связным, если любые две вершины в нем связны.

Пусть Cx

- множество вершин, соединенных цепью с x j

 

i

.

 

Определение. Компонентой связности Gxi называется

подграф графа G, ассоциированный с подмножеством Cxi .

Определение. Дерево – это связный граф, который не имеет циклов.

Ребра называются циклическими, если они принадлежат хотя бы одному циклу.

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

135

Св-ва графов.

1.Сумма степеней всех вершин графа равна удвоен. числу его ребер.

След-е. У полного гр. – р=в*(в-1)/2.

2.Число нечетных вершин любого г. четно.(нечет. вершина=с нечетн. степенью).

След-е. Если в г. есть 1 нечет. вершина, то д. б. по кр. мере еще одна.

3.В любом г. , в кот. более 1 вер-ны, всегда есть 2 вер-ны с одинак. степенями.

4.Если у г. число вершин n>2 и в нем только 2 вер-ны с одинак. степенями, то в г. есть либо изолир. вер-на, либо 1 со степ. n-1.

5.Если все простые циклы четной длины, то нет циклов нечетных.

6.Любой подграф г. однозначно опр-ся набором его вершин.

7.Дерево, имеющее n вершин, им. ровно n-1 ребро.

Сл-е. Дерево сод. только антиц. ребра и обязат. им. висячие вершины(степень кот.=1).

8.Удаление из связного г. циклич. ребра не меняет связности, удаление же антициклич. делает г. несвязным.

Мост – ребро, удаление кот. нарушает связность г.

9.Любые 2 в-ны дерева им. только 1 элем. путь их соед-щий.

10.Если в связном г. n вершин и n-1 ребро, то это дерево.

11.Из любого связ. г. можно получить дерево путем послед. удаления циклич. ребер(для связного надо удалить m-n+1).

Определение. Эйлеровым циклом называется простой цикл, содержащий все ребра.

Определение. Граф G = (X, U) называется эйлеровым., если он содержит эйлеров цикл.

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

136

Теорема. Связный граф G --= (X, U) является эйлеровым тогда и только тогда, когда каждая вершина G имеет четную степень. При этом начало цикла может находиться в любой вершине графа.

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

Определение. Конечный граф называется гамилътоновым, если он обладает либо гамильтоновым циклом, либо гамильтоновой цепью.

Некоторые свойства гамильтоновых графов Теорема. Пусть связный граф имеет п вершин и п³ 3. Если в

этом графе для степени любой вершины А выполняется неравенство σ (А) ³ n2 , то он обладает гамильтоновым

циклом.

Следствие 1. В полном графе: а) количество циклов n!

б) любая неповторяющаяся последовательность вершин является гамильтоновым путем.

Следствие 2. Пусть элементарный связный граф имеет п вершин и п³ 3. Если в этом графе для любой пары вершин А и

В выполняется неравенство σ (A) + σ (B) ³ n , то он

обладает гамильтоновым циклом.

Теорема. Если при п³ 3 элементарный связный граф имеет п вершин и для любой его пары вершин А и В выполняется

неравенство σ (A) + σ (B) ³ n - 1, то он обладает гамильтоновой цепью.

137

45. Комбинаторные объекты дискретной математики. Алгоритмические задачи комбинаторики. Задача коммивояжера.

В комбинаторном анализе изучаются различные объекты, порождаемые элементами из конечного

множества А={ a1 , a2 ,...., an }, и числовые характеристики

этих объектов. Часто рассматриваются, например, упорядоченные или неупорядоченные подмножества множества А, подмножества с повторяющимися элементами из множества А и т. д. Вместе с классами таких комбинаторных объектов естественным образом вводятся и так называемые комбинаторные числа, задающие число объектов в том или ином классе и зависящие от некоторых параметров, например, от мощности исходного множества А и мощности рассматриваемых подмножеств множества А.

Размещения элементов. Пусть А = { a1 , a2 ,...., an }.

Размещением элементов из А по k (или размещением из n

элементов по k) называется упорядоченное подмножество из k элементов множества А.

Для А = { a1 , a2 , a3 , a4 } размещениями из А по 3 будут,

например, { a1 , a3 , a4 }, { a4 , a1 , a3 }, { a2 , a3 , a4 }.

Обозначим число размещений из n элементов по k через A(n, k). При построении конкретного размещения первым элементом в нём можно взять любой из n элементов множества А, вторым элементом — любой из n — 1 оставшихся в А элементов и т. д. Поэтому

A(n, k) = n(n-1)...(n-k+1) при 1 < k < n.

Или A(n,k) = (n n!k)!

При k > n не существует следовательно, A(n, k)= 0 при

размещений из n по k, k >n; при k = 0 полагаем

138

A(0,0) = A(n,0)= 1. Нетрудно заметить, что для чисел A(n, k) выполняются тождества

A(n, k) = n A(n-1, k-1) A(n, k) = A(n, k-1)(n=k+1)

Перестановки элементов. Перестановками элементов

множества А = { a1 , a2 ,...., an } (или перестановками из n элементов) называются всевозможные упорядоченные множества из n элементов a1 , a2 ,...., an

Для A ={a1,a2,a3} перестановками будут: {a1,a3,a2},

{a2,a1,a3}, {a2,a3,a1}.

Перестановки из n элементов — частный случай размещений из n элементов по n. Поэтому

P(n)=n!

Сочетания элементов. Сочетанием элементов из А = { a1 , a2 ,...., an } по k (или сочетанием из n элементов по k)

называется неупорядоченное подмножество из k элементов множества А.

Для А — { a1,a2,a3} всевозможными сочетаниями по 2 элемента будут {a1,a2}, { a1,a3}, { a2,a3}.

В сочетании, в отличие от размещения, порядок следования элементов не учитывается. Поэтому из одного сочетания (из n элементов по k ) получается k размещений. Отсюда для числа C(n,k) сочетаний из n элементов по k получается формула

С(n, k) =

n!

k!(n − k)!

 

Сnk=Ank/k! Cnk=(n*(n-1)*(n-2)*...*(n-k+1))/k!

Из формул видно, что:

139

Cn0=1,

Cn1=n, Cn2=n*(n-1)/2=(n2-n)/2,

Cn3=n*(n-1)*(n-2)/6

...

Cnn-1=n,

Cnn=1.

Свойство 1. Cnk=Cnn-k (при всех n>=0 и всех k от 0 до n; обычно говорят кратко - "при всех n и k"). Доказательство: Их у этого свойства будет два: первое - из формулы, второе - комбинаторное рассуждение.

1.) Cnk=n!/(k!*(n-k)!), а Cnn-k=n!/((n-k)!*(n-(n-k))!)=n!/((n-k)! *k!) - то же самое, что и Cnk, ч.т.д.

2.) Когда мы выбираем k предметов из n, то n-k предметов мы оставляем. Если мы, наоборот, выбранные k предметов оставим, а оставленные n-k - выберем, то получим способ выбора n-k предметов из n. Заметим, что мы получили взаимно-однозначное соответствие способов выбора k и n- k предметов из n. Значит, тех и других способов поровну.

Но одних а Cnk, а других а Cnn-k, поэтому они равны, ч.т.д.

Свойство 2. Cn+1k+1=Cnk+Cnk+1, при всех n и k.

Доказательство:

1.) Cnk=n!/(k!*(n-k)!), Cnk+1=n!/((k+1)!*(n-k- 1)!), а Cn+1k+1=

=(n+1)!/((k+1)!*(n-k)!).

2)Теперь приведем первые два равенства к общему знаменателю и сложим: Cnk+Cnk+1 = n!*(k+1)/

((k+1)!*(n-k)!)+n!*(n-k)/((k+1)!*(n-k)!) = n!

140

= n .
(a1 , a2 ,..., am )

*(k+1+n-k)/((k+1)!*(n-k)!) = (n+1)!/((k+1)!

*(n-k)!) = Cn+1k+1, ч.т.д.

Размещением с повторением из n элементов по m или упорядоченной (n, m)- выборкой с возращениями

называется любой кортеж элементов

множества М, для которого M

Поскольку в кортеж (a1 , a2 ,..., am ) на каждое место может претендовать любой из n элементов множества М,

число размещений

с повторениями

ˆ

P(n, m)

n × n ×... × n = n m

:

равно

 

 

 

m

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Ank

= nk .

 

Пример.

 

Из цифр 1,

2, 3, 4

можно составить

ˆ

3

= 64

трехзначных числа.

 

P(4,3) = 4

 

 

 

 

 

Определим отношение эквивалентности на множестве размещений с повторениями из n по m: (a1 , a2 ,..., am )

~ (b1,b2 ,...,bm ) для любого c M число элементов ai ,

равных c, совпадает с числом элементов bi , равных c.

Сочетания с повторениями элементов. Сочетанием с повторениями элементов из А={ a1 , a2 ,...., an } по k (или

сочетанием с повторениями из n элементов по k) называется неупорядоченный набор из k элементов, в котором элементы могут повторяться и каждый элемент сочетания встречается в А.

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

141

Соседние файлы в папке GOSY