Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Аддитивный алгоритм






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

Модель задачи должна быть представлена в стандартной форме.

L = (10) (11) (12)

Требования: все условия неравенства; cj – неотрицательны, если ck < 0 xk = 1-xk; постоянная в критерии не влияет на решение.

Представим условия (11) в канонической форме: , (13)

где Si – дополнительные переменные.Тогда начальное решение очевидно: " хj =0 и Si = bi. Как уже говорилось, если " Si ³ 0, оно оптимально. В противном случае осуществляется частичный перебор решений. Для пояснения алгоритма восполььзуемся табл., которая аналогична симплексной.

A0 (Решение) x 1 x 2 ... xn S 1 S 2 ... Sm
b 1 a 11 a 12 ... a 1 n     ...  
b 2 a 21 a 22 ... a 2 n     ...  
... ... ... ... ... ... ... ... ...
bm am 1 a m2 ... amn     ...  
L c 1 c 2 ... cn     ...  

В алгоритме переменные разделяются на фиксированные и свободные.Переменную которой присвоено определенное значение, называют фиксированной. Значение свободной переменной можно изменять. Основным объектом алгоритма является частичное решение – это решение, в котором часть переменных фиксирована. Оно описывается упорядоченным множеством индексов фиксированных переменных. При этом индекс переменных, равных нулю, записывается со знаком " минус" I t ={-2, 4}.

Первоначальное частичное множество всегда пустое (I0=Æ), а значение рекорда z =¥.Алгоритм состоит из четырех проверок, которые выполняются для того, чтобы определить наличие перспективных свободных переменных. Если такая переменная находится, то изменяя ее значение, можно улучшить результат. По умолчанию принято, что свободные переменные находятся на нижнем уровне (равны нулю). Частичное решение считается прозондированным, если оно не может привести к допустимому решению и уменьшению значения критерия.

Пусть имеем частичное решение I t с критерием Lt и вектором дополнительных переменных S t =(S 1t, S 2t,..., Smt). К нему применяются следующие проверки.

1. Для каждой свободной переменной xr проверяются коэффициенты air в строках с Sit < 0 (табл.). Если во всех таких строках air ³ 0, переменная xr исключается, так как изменение ее значения с 0 на 1 не приведет к положительности хотя бы одной из рассматриваемых Sit.

2. Анализируется возможность улучшения критерия. Если для свободной переменной xr выполняется неравенство Cr + Lt ³ z, изменение ее значения не может привести к уменьшению рекорда. Поэтому она исключается.

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

3. Выясняется возможность получения допустимого решения на основе данного частичного. В строках с Sit < 0 проверяется условие (14)

Если оно выполняется хотя бы для одной строки, все переменные из P t исключаются. В этом случае решение I t считается прозондированным (ветвь обрывается).

Если условия (14) не выполняются, проводится проверка 4.

4. При P t ¹ Æ ветвь продолжается. Для получения нового частичного решения из I t вычисляются оценки каждой переменной из P t: (15)

Оценка дает суммарную величину недопустимости, остающейся после изменения значения переменной xj Î P t c 0 на 1. Как видно из (15), отрицательная оценка свидетельствует о наличии недопустимости. Из полученных оценок определяется максимальная . (16)

Очевидно, что если vkt =0, то изменение xk с 0 на 1 дает допустимое решение с меньшим значением критерия. Поэтому рекорду z присваивается значение Lt + Ck, а новое частичное рещение I t +1={I t, k } считается прозондированным. Если же vkt < 0, то допустимое решение не достигнуто и частичное решение I t +1={I t, k } подвергается всем проверкам. Если в результате проверок оно окажется прозондированным, новое частичное решение получают из I t +1 изменением знака индекса введенной переменной: I t +2={I t, - k }, то есть фиксацией xk со значением 0.







© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.