русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Нахождение оптимального плана методом потенциалов


Дата добавления: 2013-12-24; просмотров: 1449; Нарушение авторских прав


Для того чтобы проверить является ли данный опорный план оптимальным, необходимо применить метод потенциалов. Предварительно сделаем необходимые обозначения:

Vj - потенциалы столбцов;

Ui - потенциалы строк,

Сij - стоимость перевозки единицы груза от каждого поставщика каждому потребителю;

Хij – количество груза, которое будет перевезено от i –ого поставщика к j – ому потребителю,

где i =1,…,m (m – число строк), а j = 1, …, n (n – число столбцов).

Опорный план транспортной задачи может иметь (m + n –1) отличных от нуля неизвестных. В этом случае план является невырожденным.

Если отличных от нуля неизвестных меньше, чем (m + n –1), то такой план – вырожденный. И для нахождения оптимального плана одна из пустых клеток таблицы, в этом случае, считается заполненной нулевым грузом.

 

Опорный план является оптимальным, если выполняются следующие условия: 1. Для заполненных клеток (Хij > 0 ) Vj – Ui = Сij 2. Для пустых клеток (Хij = 0 ) Vj – Ui £ Сij для всех i =1,…,m и j = 1, …, n  

 

Опорный план, представленный в таблице 4.6., прежде всего проверим на вырожденность:

- число заполненных клеток в опорном плане (табл. 4.6.) равно 6;

- m + n –1 = 4 + 4 –1 =7.

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

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

V1 –U3 = 2 V1 = 0 + 2 V1 = 2
V2 –U3 = 3 V2 = 0 +3 V2 = 3
V3 –U3 =6 V3= 0+6 V3 = 6
V4 –U3 =5 V4 = 0+5 V4 = 5
V3 –U1=6 6 - U1 = 6 U1= 0
V4 –U2 =3 5 –U2 =3 U2 = 2
V2 –U4 = 4 3–U4 = 4 U4 = -1

Заполняем потенциалы строк и столбцов (табл. 4.7.)



 

Таблица 4.7.

V1 = 2 V2 = 3 V3 = 6 V4 =5

U1 =0 6 200
U2 =2 3 180
U3 =0 3 50 6 0
U4 =-1   4 100

 

Проверяем второе условие оптимальности (для пустых клеток).

 

 

Δ11 = V1 –U1 =2 – 0 = 2 < 8 Δ12 = V2 –U1 =3 – 0 = 3 < 7 Δ14 = V4 –U1 =5 – 0 = 5 < 9 Δ21 = V1 –U2 =2 – 2 = 0 < 4 Δ22 = V2 –U2 =3 – 2 = 1 < 10   Δ23 = V3–U2 =6 – 2 = 4 < 8 Δ41 = V1 –U4 =2 – (-1) = 3< 5 Δ43 = V3–U4 =6 – (-1) = 7< 8 Δ44 = V4–U4 =5 – (-1) = 6< 9  
   

 

Второе условие выполнено для всех пустых клеток, следовательно, в таблице 4.7. получено оптимальное решение. Запишем его:

Zmin = 200*6+180*3+100*2+50*3+0*6+70*5+100*4=2840

 

Рассмотрим еще один пример. Задан некоторый опорный план (табл.4.8.).

Таблица 4.8.

5 120 7 10
1 30 6 70

 

Число заполненных клеток в опорном плане (табл. 4.8.) равно 6. По формуле считаем число отличных от нуля неизвестных:

m + n –1 = 4 + 3 –1 =6. Следовательно, план (табл. 4.8.) является невырожденным.

Используя первое условие оптимальности, находим потенциалы строк и столбцов, придавая нулевое значение потенциалу первой строки (U1 =0).

V2 –U1 = 5 V2 = 0 + 5 V2 = 5
V3 –U1 =7 V3= 0+7 V3 = 7
V3 –U2 =6 7 - U2 = 6 U2 = 1
V1–U2=1 V1 - 1 = 1 V1= 2
V1 –U3 =5 2–U3 =5 U3 = -3
V4–U3 = 7 V4 - (–3)= 1 V4 = 4

Полученные значения потенциалов строк и столбцов записываем, соответственно, слева от таблицы и сверху (табл. 4.9.).

Таблица 4.9.

 

V1 = 2 V2 = 5 V3 = 7 V4 = 4

U1 =0 5 120 7 10
U2 = 1 1 30 6 70
U3 = -3 5 120 +

 

Проверяем второе условие оптимальности (для пустых клеток).

 

Δ11= V1 –U1 =2 – 0= 2 < 3 Δ14 = V4 –U1 =4 – 0= 4 < 11 Δ22 = V2 –U2 =5 – 1= 4 = 4   Δ24= V4–U2 =4 – 1 = 3> 2 Δ32 = V2–U3 =5 – (-3)= 8 < 9 Δ33= V3–U3 =7 – (-3) = 10< 12  

 

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

aij =vj-ui-cij

Из характеристик выбираем наибольшую (в данном случае единственная: a24= 4 –1-2 = 1) и начиная с клетки с данной характеристикой строим цепь (цикл)– ломаная линия, вершины которой расположены в занятых клетках таблицы, кроме первой. Повороты цепи делают под прямым углом. В строке или столбце, где проходит цепь, содержится только две клетки цепи, цепь должна быть замкнута. Клетки цепи отмечаем чередующимися знаками (+) и (-), начиная со знака (+) в первой клетке цепи.

Таблица 4.10.

V1 = 2 V2 = 5 V3 = 7 V4 = 4

U1 =0 5 120 7 10
U2 = 1 - 1 30 6 70 + 2
U3 = -3 5 120 + 50 -

 

Из всех объемов поставок, стоящих в клетках со знаком (-), выбираем минимальный, он обозначается буквой Q. Вычитаем Q из поставок отрицательной полу цепи и прибавляем к поставкам положительной полу цепи.

Q = min(30, 50) = 30

Пересчитанные грузы записываем в таблицу 4.11. и пересчитываем потенциалы.

Потенциалы исправляем, начиная с потенциала столбца той клетки, с которой начиналась цепь в предыдущей таблице, т.е. V4=4-1=3 (табл. 4.9.). Уменьшаем его на величину характеристики этой клетки a24 = 1.В столбце, где исправлен потенциал, есть еще заполненные клетки в третьей строке, следовательно, исправляем потенциал третьей строки (U3 = -3-1 = -4). Затем “пройдем” по этой строке и для заполненных клеток исправим потенциал столбцов (V1 = 2-1=1).

Таблица 4.11.

V1 = 2 1 V2 = 5 V3 = 7 V4 = 4 3

U1 =0 5 120 7 10
U2 = 1 6 70 2 30
U3 =-3 -4 5 150

Проверяем исправленную систему на выполнение условий оптимальности:

- для заполненных клеток первое условие верно;

- для пустых клеток:

Δ11= V1 –U1 =1– 0= 1 < 3 Δ14 = V4 –U1 =3 – 0= 3 < 11 Δ21 = V1 –U2 =1 – 1= 0 < 4   Δ22= V2–U2 =5 – 1 = 4 =4 Δ32 = V2–U3 =5 –(-4)= 9 = 9 Δ33= V3–U3 =7 – (-4) = 11< 12  

Все условия выполняются. Следовательно, в таблице 4.11. получено оптимальное решение:

Zmin =120*5+10*7+70*6+30*2+150*5+20*7 = 2040

 



<== предыдущая лекция | следующая лекция ==>
Нахождение опорного плана транспортной задачи | Постановка задачи.


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.184 сек.