Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Kursovaya_Matematicheskie_metody.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
61.57 Кб
Скачать

1.4 Метод потенциалов

Для каждого поставщика и потребителя находят потенциал или силу. Для этого, составляют систему уравнений Ui+Vj=Cij для каждой заполненной решением клетки таблице. В системе будет (m+n-1) уравнение, с m+n неизвестными то есть неизвестных на один больше чем уравнений, такая система имеет бесконечное множество решений, по этому, для её решения, одной из переменных, дают конкретное значение (обычно U1=0) и система будет иметь единственное решение.

Потенциалы записываются рядом с таблицей.

Для всех не заполненных решением клеток таблицы, вычисляют оценку ij= Ui+Vj-Cij.

Если все ij 0, то решение оптимальное.

Если хотя бы один ij 0, то решение не оптимально и его можно улучшить.

1.5 Переход от одного опорного решения к другому

Переход к новому опорному решению, осуществляется с помощью цикла.

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

Цикл строится для клетки, в которой наибольшая положительная оценка max”+”{ }. В эту клетку таблицы ставится знак плюс и она добавляется к заполненным клеткам таблицы (то есть заполненных клеток становится m+n). Затем методом вычеркивания строится цикл.

Метод «вычеркивания»

В таблице можно вычеркнуть те строки и столбцы, в которых по одной заполненной клети таблицы, причем вычеркнутые строки и столбцы уже не учитываются. Оставшиеся клети таблицы после вычеркивания, образуют цикл. В найденном цикле расставляют знаки плюс и минус в нечетных клетках плюсы, а в четных минусы, начиная с уже поставленного знака плюс. По циклу перераспределяется груз величиной =min”-“{xij}. При построении нового решения, все вычеркнутые клетки переписываются без изменения, в клетках со знаком «плюс», величина перевозки увеличивается на , со знаком «минус» уменьшив на при этом одна из помеченных клеток останутся пустой.

Глава 2. Решение транспортной задачи

Склады в городах

Магазины в городах

Чебоксары

Вязники

Набережные Челны

Казань

Запасы

Москва

7

6

5

11

400

Нижний Новгород

3

4

2

2

200

Покров

9

10

3

15

100

Ижевск

1

5

1

3

100

Заявки

400

200

100

200

Условие: Автотранспортная компания «Астрада» обеспечивает доставку шин «Bridgestone с четырех оптовых складов, расположенных в Москве, Нижнем Новгороде, Покрове, Ижевске в четыре магазина в Чебоксарах, Вязниках, Набережных Челнах и Казани. Объемы запасов шин на складах, объемы заказов магазинов и тарифы на перевозку представлены в транспортной таблице.

Однако имеются дополнительные условия: объем перевозки шин со склада i Москве магазину в Вязниках должен быть не менее 100 (х12 > 100), а со склада i в Нижнем Новгороде магазину в Чебоксарах - не более 100 (х21 <100). Определите оптимальный план поставок шин в магазины, обеспечивающий минимальные затраты.

bj

ai

400

200

100

200

400

7

6

5

11

200

3

4

2

2

100

9

10

3

15

100

1

5

1

3

100 Ф

0

0

0

0

Проверяем баланс задачи:

=400+200+100+100 = 800

=400+200+100+200 = 900

Т.к. < => вводим фиктивного поставщика a5 = 900 - 800 = 100, с5j = 0.

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

Т.к. x12 ≥ 100, то необходимо прежде, чем решать задачу, сократить запасы 1-го поставщика и запросы 2-го потребителя на величину 100 (т.е. зарезервировать перевозку x12 = 100). В полученном оптимальном решении следует увеличить объем перевозки x12 на величину 100.

bj

ai

400

100

100

200

300

7

6

5

11

200

3

4

2

2

100

9

10

3

15

100

1

5

1

3

100 Ф

0

0

0

0

Т.к. x21 ≤ 100, то необходимо вместо 1-го потребителя с запросами b1 ввести двух других потребителей. Один из них с номером 1 должен иметь запросы b1= 100, а другой с номером 5 с запросами b5 = 400 – 100 = 300. Стоимости перевозок для этих потребителей остаются прежними, за исключением стоимости c25, которая принимается равной сколь угодно большому числу M (M<< 1). После получения оптимального решения величины грузов, перевозимых к 5-му потребителю, прибавляются к величинам перевозок 1-го потребителя. Так как c25=M – самая большая стоимость перевозки, то в оптимальном решении клетка с номером (2,5) останется пустой (x25 = 0) и объем перевозки x21 не превзойдет 100.

bj

ai

100 *

100

100

200

300 *

300

7

-

6

100

5

-

11

-

7

200

U1 = 0

200

3

-

4

3

2

0

2

200

М

-

U2 =1

100

9

-

10

-

3

100

15

-

9

0

U3 =2

100

1

100

5

1

1

0

3

-

1

+

6

U4 =0

100 Ф

0

-

0

-

0

-

0

-

0

100

U5 =-7

V1 =1

V2 =6

V3 =1

V4 =1

V5 =7

m+n-1=5+5-1=9

С=

Задаем целевую функцию:

Z(x)=600+1400+0+400+300+0+100+0+100=2900

Проверяем решение на оптимальность, для этого:

  1. Для каждой заполненной решение клетки таблицы составляем уравнение вида Ui+Vj=Cij и решаем систему:

Пусть U1=0, тогда

  1. Для каждой незаполненной клетки таблицы находим оценки ij= Ui+Vj-Cij

11=U1+V1-C11=0+1-7=-6 0

13=U1+V3-C13=0+1-5=-4 0

14=U1+V4-C14=0+1-11=-10 0

21=U2+V1-C21=1+1-3=-1 0

22=U2+V2-C22=1+6-4=3 0

25=U2+V5-C25=1+7-М=M 0

31=U3+V1-C31=2+1-9=-6 0

32=U3+V2-C32=2+6-10=-2 0

34=U3+V4-C34=2+1-15-12 0

42=U4+V2-C42=0+6-5=1 0

44=U4+V4-C44=0+1-3=-2 0

45=U4+V5-C45=0+7-1=6 0

51=U5+V1-C51=-7+1-0=-6 0

52=U5+V2-C52=-7+6-0=-1 0

53=U5+V3-C53=-7+1-0=-6 0

54=U5+V4-C54=-7+1-0=-6 0

так как 22, 42, 45>0, то решение неоптимальное, его можно улучшить. Для этого строим цикл для клетки max”+”{ }= 45=>(4;5) в которую ставим знак «+» добавляем его к заполненным клеткам.

=min”-“{0;0}=0

bj

ai

100 *

100

100

200

300 *

300

7

0

6

100

5

-

11

-

7

200

U1 = 0

200

3

+

5

4

3

2

0

2

200

М

-

U2 =1

100

9

0

10

-

3

100

15

-

9

0

U3 =2

100

1

100

5

-

1

-

3

-

1

0

U4 =-6

100 Ф

0

0

0

-

0

-

0

-

0

100

U5 =-7

V1 =7

V2 =6

V3 =1

V4 =1

V5 =7

Задаем целевую функцию:

Z(x)=600+1400+0+400+300+0+100+0+0=2800

Проверяем решение на оптимальность

Пусть U1=0, тогда

11=U1+V1-C11=0 0

13=U1+V3-C13=-4 0

14=U1+V4-C14=-10 0

21=U2+V1-C21=5 0

22=U2+V2-C22=3 0

25=U2+V5-C25=M 0

31=U3+V1-C31=0 0

32=U3+V2-C32=-2 0

34=U3+V4-C34=-12 0

42=U4+V2-C42=-5 0

43=U4+V3-C43=-6 0

44=U4+V4-C44=-8 0

51=U5+V1-C51=0 0

52=U5+V2-C52=-1 0

53=U5+V3-C53=-6 0

54=U5+V4-C54=-6 0

так как 21 и 22>0, то решение не оптимальное, его можно улучшить. Для этого строим цикл для клетки max”+”{ }= 21=>(2;1) в которую ставим знак «+» добавляем его к заполненным клеткам.

=min”-“{0;0;100}=0

bj

ai

100 *

100

100

200

300 *

300

7

0

6

100

5

-

11

-

7

200

U1 = 0

200

3

0

4

-

2

-

2

200

М

-

U2 =-4

100

9

0

10

-

3

100

15

-

9

0

U3 =2

100

1

100

5

-

1

-

3

-

1

0

U4 =-6

100 Ф

0

0

0

-

0

-

0

-

0

100

U5 =-7

V1 =7

V2 =6

V3 =1

V4 =6

V5 =7

Задаем целевую функцию:

Z(x)=600+1400+0+400+300+0+100+0+0=2800

Проверяем решение на оптимальность

Пусть U1=0, тогда

11=U1+V1-C11=0 0

13=U1+V3-C13=-4 0

14=U1+V4-C14=-9 0

22=U2+V2-C22=-2 0

23=U2+V3-C23=-5 0

25=U2+V5-C25=M 0

31=U3+V1-C31=0 0

32=U3+V2-C32=-7 0

34=U3+V4-C34=-1 0

42=U4+V2-C42=-5 0

43=U4+V3-C43=-6 0

44=U4+V4-C44=-3 0

51=U5+V1-C51=0 0

52=U5+V2-C52=-1 0

53=U5+V3-C53=-6 0

54=U5+V4-C54=-1 0

bj

ai

400

200

100

200

400

7

200

6

200

5

11

200

3

0

4

2

2

200

100

9

0

10

3

100

15

100

1

100

5

1

3

100 Ф

0

100

0

0

0


Z(x)=1400+1200+400+300+100=3400

Ответ: minZ(x)=3400 при x=

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]