Пример решения классической транспортной задачи средствами MathCad




Лабораторная работа № 3

Задача. От ГПП промышленного предприятия, расположенной в узле 1, будет осуществляться электроснабжение цехов, расположенных в узлах 2, 3 и 4 (рисунок 3.1). Требуется найти оптимальную по критерию денежных затрат схему электрической сети.

Расчетные мощности всех узлов Si и затраты cij на передачу единицы мощности по линии между узлами i и j приведены в таблице 3.1.

Решение задачи выполнить с учетом транзита мощности через нагрузочные узлы.

Рисунок 3.1

 

Таблица 3.1

№ вар Si, МВА cij, у.е./МВА
S 1 S 2 S 3 S 4 c 12 c 13 c 14 c 23 c 24 c 34
          1,0 1,0 2,2 1,8 2,1 1,0
          1,0 2,1 1,0 2,4 1,5 1,0
          2,1 1,0 1,0 2,3 1,0 1,2
          1,0 1,0 2,1 1,4 1,0 2,3
          2,2 1,0 1,0 1,0 2,1 1,5
          3,4 1,0 2,3 1,2 1,0 1,0
          1,0 2,3 3,3 1,0 1,4 1,0
          2,2 3,3 1,0 1,0 1,0 1,3
          1,0 3,4 2,3 1,2 1,0 1,0
          3,3 2,1 1,0 1,0 1,3 1,0

 

 

Методические указания к решению задачи.

 

Поставленная задача относится к классу транспортных задач с транзитом мощности через узлы.

Минимизируемая целевая функция в такой задаче имеет вид:

, i ¹ j (3.1)

где Sij – мощность, протекающая между узлами i и j;

m – количество узлов в схеме.

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

Для решения задачи строим транспортную квадратную матрицу размерностью m (таблица 3.2). Справа от матрицы располагаем дополнительный столбец, в котором указывается заданная мощность источника питания Si, а мощности нагрузочных узлов принимаются равными нулю (столбец источников). Снизу от матрицы располагаем дополнительную строку, в которой указываются заданные мощности нагрузок Sj, а мощность источника питания принимается равной нулю (строка нагрузок).

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

Каждая ii (диагональная) ячейка матрицы соответствует транзитной мощности через i -й узел. Удельная стоимость передачи через i -й узел транзитной мощности
cii = 0.

 

Таблица 3.2 – Итерация 0

  v 1 = 0 v 2 = с 12 v 3 = с 13 v 4 = с 14  
u 1 = 0   S 12 = S 2 S 13 = S 3 S 14 = S 4 S 1= S 2+ S 3 +S 4
  с 12 с 13 с 14
    «–» «+»
u 2 =- с 12         S 2 = 0
с 21   с 23 с 24
       
u 3 =- с 13         S 3 = 0
с 31 с 32   с 34
       
u 4 =- с 14         S 4 = 0
с 41 с 42 с 43  
    1«+» «–»
  S 1 = 0 S 2 S 3 S 4 F = с 12 S 12 + с 13 S 13 + с 14 S 14

 

Этап 1. Определение допустимого решения транспортной задачи.

Одним из допустимых решений транспортной задачи с одним источником питания является радиальная сеть (рисунок 3.2), для которой выполняются балансы мощности во всех узлах:

S 12 + S 13 + S 14 = S 1; S 12 = S 2; S 13 = S 3; S 14 = S 4, (3.2)

а транзитные мощности через узлы:

S 11 = 0; S 22 = 0; S 33 = 0; S 44 = 0. (3.3)

Рисунок 3.2

Соответствующие этому решению значения мощностей занесены в транспортную матрицу (таблица 3.2). Значение целевой функции, определяемое по выражению (3.1), составляет:

F = c 12 S 12 + c 13 S 13 + c 14 S 14 (3.4)

и занесено в правый нижний угол транспортной матрицы (таблица 3.2).

Оптимизацию полученного решения выполним методом потенциалов.

Этап 2. Вычисление потенциалов источников и потребителей; проверка критерия оптимальности плана перевозок.

2.1 Присвоим каждой строке транспортной матрицы потенциал ui, а каждому столбцу – потенциал vj. Эти потенциалы таковы, что для каждой базисной переменной (переменной не равной нулю) должно выполняться условие:

cij = ui + vj. (3.5)

Транзитные переменные Sii, соответствующие диагональным ячейкам транспортной матрицы, независимо от того, какие они имеют значения (нулевые или ненулевые), считаются базисными. Для этих переменных также должно выполняться условие (3.5).

Имеем семь базисных переменных S 12 = S 2, S 13 = S 3, S 14 = S 4, S 11 = 0, S 22 = 0,
S 33 = 0 и S 44 = 0. Количество неизвестных потенциалов восемь. Для решения системы (3.5) следует задаться значением одного из потенциалов, например, принять u 1 =0. Тогда остальные потенциалы однозначно определятся из системы уравнений (3.5). Потенциалы проставлены в таблицу 3.3, обозначенную как «Итерация 0».

2.2 Для всех свободных переменных (недиагональных равных нулю переменных) определим косвенные стоимости:

D ij = ui + vj - сij. (3.6)

2.3 Проверим критерий оптимальности: если все косвенные стоимости отрицательны (D ij < 0), то допустимое решение будет оптимальным.

При невыполнении критерия оптимальности, например, для свободной переменной S 43, эта переменная переводится в разряд базисных. Соответственно одна из базисных переменных должна перейти в разряд свободных. Для этого строится цикл пересчета.

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

3.1 Выбираем свободную ячейку с наибольшей положительной косвенной стоимостью (max(D ij)). Например, такой оказалась ячейка 43.

В цикл войдут ячейки (4,3) (отмечается знаком «+»), (1,3) (отмечается знаком «–»), (1,4) (отмечается знаком «+»), (4,4) (отмечается знаком «–»):

S 43 («+») ® S 13 («–») ® S 14 («+»), ® S 44 («–»).

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

3.2 В отрицательных вершинах цикла выбирается минимальная величина поставки: .

Выбираем , поскольку увеличение переменной S 43 ограничено уменьшением переменной S 13 до нулевого значения. При S 43 = S 13 базисная переменная S 13 становится свободной (равной нулю). Увеличение переменной S 43 не ограничено уменьшением переменной S 44, поскольку все транзитные переменные Sii входят в решение транспортной задачи со знаком минус.

В вершинах цикла, отмеченных знаком «+», переменные увеличиваются . В вершинах цикла, отмеченных знаком «–», переменные уменьшаются.

После перевода переменной S 43 в разряд базисных, а переменной S 13 в разряд свободных получается новая транспортная матрица (таблица 3.3).

 

Таблица 3.3 – Итерация 1

  v 1 = 0 v 2 = с 12 v 3 = с 13 v 4 = с 14  
u 1 = 0   S 12 = S 2   S 14 = S 4+ S 3 S 1= S 2+ S 3 +S 4
  с 12 с 13 с 14
u 2 =- с 12         S 2 = 0
с 21   с 23 с 24
u 3 =- с 13         S 3 = 0
с 31 с 32   с 34
u 4 =- с 14     S 43 = S 3 - S 44 = - S 3 S 4 = 0
с 41 с 42 с 43  
  S 1 = 0 S 2 S 3 S 4 F = с 12 S 12 + с 14 S 14 + с 43 S 43

 

Этой матрице соответствует новая схема электрической сети (рисунок 3.3). Видно, что переменная S 43 вошла в состав базисных переменных (в схеме появилась линия между узлами 4 и 3), а базисная переменная S 13 стала свободной (в схеме исчезла линия между узлами 1 и 3). Через узел 4 идет транзитная мощность S 44 = S 3.

 

Рисунок 3.3

 

Для новой транспортной матрицы по системе уравнений (3.5) определяются потенциалы ui и vj строк и столбцов и для всех свободных переменных проверяется критерий оптимальности (D ij < 0). При невыполнении этого условия для какой-либо свободной переменной вся вычислительная процедура повторяется. Выполнение
D ij < 0 для всех свободных переменных указывает на то, что найдено оптимальное решение.

В процессе решения задачи после каждого пересчета транспортной матрицы следует записывать текущее решение в виде (3.2) и (3.3), приводить новую схему электрической сети и вычислять по выражению (3.1) новое значение целевой функции.

 

Пример решения классической транспортной задачи средствами MathCad

 

Задача: В проектируемой системе электроснабжения имеется два узла с источниками питания и три узла потребителей. Мощности источников составляют A 1 = 50 и A 2 = 30 е.м., а мощности потребителей - B 1 = 20, B 2 = 25 и B 3 = 35 е.м. Удельные затраты на передачу мощностей по линиям между узлами источников и потребителей составляют c 11 = 1,2; c 12 = 1,8; c 13 = 1,5; c 21 = 1,6; c 22 = 2,3; c 23 = 2,1 у.е./е.м.

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

Решение: Вначале создаем векторы Si и Sp, в которых содержатся исходные данные источников питания А и мощности потребителей В (транспонированные строки введены в целях сокращения места для записи исходных данных) и матрицу стоимостей перевозок С.

Затем фиксируем значения переменных;

Составляем целевую функцию, которая может быть представлена в виде следа (суммы диагональных элементов) произведения SCТ, где Т – индекс транспонирования, записываем ее в такой форме:

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

Блок решений может быть также записан в виде:

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

мы получаем матричное уравнение S×S1i = Si. Аналогично вместо системы ограничений, представляющих собой балансы мощности в узлах потребителей, получаем матричное уравнение SТ×S1p = Sp.

 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2016-04-15 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: