Системное програмирование

Автор: Пользователь скрыл имя, 20 Января 2012 в 22:34, контрольная работа

Описание работы

Компьютерный эксперимент. Анализ результатов моделирования. Двойственный симплекс-метод. Содержательные и формальные модели. Содержательная классификация моделей. Прямая и двойственная задачи. Связь между решениями прямой и двойственной задачами. Этапы моделирования. Постановка задачи. Разработка модели. Жесткие и мягкие модели. Универсальность моделей. Прямая и обратная задачи математического моделирования.

Работа содержит 1 файл

ответы.docx

— 804.28 Кб (Скачать)
 

  В новой таблице элементы строк  А2 и А3 получены в результате прибавления к соответствующим числам строк А2 и А3 (являющихся недостаточными) табл. 5 промежуточной ренты, т. е. 1. В результате в табл. 6 число клеток для заполнения возросло еще на одну и стало равным 6. Определяем указанные клетки и заполняем их. Сначала заполняем клетки А1В3, A2B1, A2B2, А2В4, а затем А3В5, А2В5, А1В В результате все имеющиеся запасы поставщиков распределяются в соответствии с фактическими потребностями пунктов назначения. Число заполненных клеток равно 7, и все они имеют наименьший показатель сij. Следовательно, получен оптимальный план исходной транспортной задачи:

 При этом плане  перевозок общие затраты таковы: S = 4*120 + 5*60+1*110 + 8*90 + 5*80 + 3*70 + 4*20 = 2300.

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

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

 Для определения опорного плана транспортной задачи будем пользоваться одним  из методов, рассмотренных в предыдущем параграфе. Эти методы гарантируют  получение занятых в исходном плане n + m - l клеток, причем в некоторых из них могут стоять нули. Полученный план следует проверить на оптимальность.

  Теорема 1. Если для некоторого опорного плана Х*= (xij*) (i = l,m; j = 1,n) транспортной задачи существуют такие числа a1, a2, …, am , b1, b2,…, bn что

bj - ai =cij при xij > 0   (9)

и

bj - ai £  cij при xij = 0   (10)

для всех i = l,m и j = 1,n, то Х*= (xij*)оптимальный план транспортной задачи.

  Определение 1. Числа ai , и bj (i = l,m; j = 1,n) называются потенциалами соответственно пунктов назначения и пунктов потребления.

  Сформулированная  теорема позволяет построить  алгоритм нахождения решения транспортной задачи. Он состоит в следующем. Пусть  одним из рассмотренных выше методов  найден опорный план транспортной задачи. Для каждого из пунктов отправления  и назначения определяют потенциалы aI , и bj (i = l,m; j = 1,n). Эти числа находят из системы уравнений

bj - ai =cij   (11)

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

  Так как число заполненных клеток равно n + m — 1, то система (11) с n + m неизвестными содержит п + т— 1 уравнений: Поскольку число неизвестных превышает на единицу число уравнений, одно из неизвестных можно положить равным произвольному числу, например a1 = 0, и найти последовательно из уравнений (11) значения остальных неизвестных. После того как все потенциалы найдены, для каждой из свободных клеток определяют числа aij = bj - ai -cij .. 

                                             

                   

рис. 2.

  Если  среди чисел aij , нет положительных, то найденный опорный план является оптимальным. Если же для некоторой свободной клетки aij > 0, то исходный опорный план не является оптимальным и необходимо перейти к новому опорному плану. Для этого рассматривают все свободные клетки, для которых aij > 0, и среди данных чисел выбирают максимальное. Клетку, которой это число соответствует, следует заполнить.

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

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

  Если  ломаная линия, образующая цикл, пересекается, то точки самопересечения не являются вершинами. Примеры некоторых циклов показаны на рис. 2.

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

  1) каждой из клеток, связанных циклом с данной свободной клеткой, приписывают определенный  знак,  причем  свободной клетке — знак плюс, а всем  остальным  клеткам — поочередно знаки минус и плюс (будем называть эти клетки минусовыми и плюсовыми);

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

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

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

  Следует отметить; что при сдвиге по циклу  пересчёта число занятых клеток остается неизменным, а именно остается равным п + т— 1. При этом если в минусовых клетках имеется два (или более) одинаковых числа xij, то освобождают лишь одну из таких клеток, а остальные оставляют занятыми (с нулевыми поставками).

  Полученный  новый опорный план транспортной задачи проверяют на оптимальность. Для этого определяют потенциалы пунктов отправления и назначения и находят числа aij = bj - ai -cij , для всех свободных клеток. Если среди этих чисел не окажется положительных, то это свидетельствует о получении оптимального плана. Если же положительные числа имеются, то следует перейти к новому опорному плану. В результате итерационного процесса после конечного числа шагов получают оптимальный план задачи.

  Из  изложенного выше следует, что процесс  нахождения решения транспортной задачи методом потенциалов включает следующие  этапы:

  1. Находят опорный план. При этом число заполненных клеток должно быть равным п + т— 1.
  2. Находят потенциалы bj и ai, соответственно пунктов назначения и отправления.
  3. Для каждой свободной клетки определяют число aij. Если среди чисел aij нет положительных, то получен оптимальный план транспортной задачи; если же они имеются, то переходят к новому опорному плану.

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

    Полученный опорный план проверяют  на оптимальность, т. е. снова  повторят все действия, начиная  с этапа 2.

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

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

таблица 7

Пункты

отправления

Пункты  назначения Запасы
В1 В2 В3 В4
А1 1

30

2

20

4 1  
50
А2 2 3

10

1

10

5

10

 
30
А3 3 2 4 4

10

 
10
Потребности 30 30 10 20 90

  Решение. Сначала, используя метод северо-западного угла, находим опорный план задачи. Этот план записан в табл. 7.

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

b1 - a1 = 1,  b2 - a1 = 2,  b2 - a2 = 3,

b3- a2 = 1,  b4 - a2 = 5,  b4 - a3 = 4,

с семью неизвестными. Полагая a1 =0, находим b1 = l, b2 = 2, a2=-1, b3= 0, b4 = 4, a3=0.

Для каждой свободной  клетку вычисляем число aij = bj - ai -cij :

a13= -4, a14 = 3, a21 = a32=0, a 31= -2, a33 = -4.

  Заключаем найденные числа в рамки и  записываем их в каждую из свободных клеток табл. 2.8.

Так как  среди чисел aij имеются положительные, то построенный план перевозок не является оптимальным и надо перейти к новому опорному плащу. Наибольшим среди положительных чисел aij, являются a14 = 3, поэтому для данной свободной клетки строим цикл пересчета (табл. 8) и производим сдвиг по этому циклу. Наименьшее из чисел в минусовых клетках равно 10. Клетка, в которой находится это число, становится свободной в новой табл. 9. Другие числа в табл. 9 получаются так: к

Информация о работе Системное програмирование