Решения задач в MathCAD

Автор: Пользователь скрыл имя, 20 Декабря 2011 в 15:24, курсовая работа

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

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

Содержание

ВВЕДЕНИЕ…………………………………………………………………………4
1 ПОСТАНОВКА ЗАДАЧА ЛИНЕЙНОГО ПРОГРАММИРОВАНИЯ
ДЛЯ N ПЕРЕМЕННЫХ……………………………………………………………5
2.ПОСТАНОВКА ТРАНСПОРТНОЙ ЗАДАЧИ (ТЗ) ДЛЯ N
ПЕРЕМЕННЫХ…………….....................................................................................7
3.ПРИМЕР РЕШЕНИЯ ЗАДАЧА ЛИНЕЙНОГО ПРОГРАММИРОВАНИЯ………………………………………………………...10
4ПРИМЕР РЕШЕНИЯ ТРАНСПОРТНОЙ ЗАДАЧИ………………………………....12
ЗАКЛЮЧЕНИЕ………………………………………………………………….19
СПИСОК ЛИТЕРАТУРЫ…………………………………………………………20

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

маткад.docx

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

    Из таблицы находим базисные переменные и значение функции x¹= (0,0,5/3,0,16/3,14/3) f¹ = 20/3. Этот результат можно проверить. Полученные результаты должны удовлетворять функции цели в канонической (стандартной) задаче линейного программирования. В оценочной строке имеются положительные числа. Значит, решение можно улучшить. Аналогично строим следующую таблицу:  

         x1       x2       x3       x4       x5       x6     значения     базис     оценка
         5/8      0      1      1/2      -1/8      0      1       x3      -
         3/8      1      0      -1/2      3/8      0      2       x2      -
         -1/8      0      0      -1/2      -1/8      1      4       x6      -
         -21/8      0      0      -1/2      -5/8      0      -10      - f      
 

      В оценочной строке данной таблицы все элементы не положительны. Это и означает, что симплекс метод завершён. Результат последней итерации даёт ответ на поставленную задачу. 

    f* = 10 x* = (0,2,1) 
 
 

 

4. Пример решения Транспортной задачи 

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

    ШАГ 1. Построение начального плана перевозок;

    ШАГ 2. Проверка текущего плана на оптимальность;

    Если  план оптимален, то алгоритм завершен;

    ШАГ 3. Улучшение плана перевозок.

ШАГ 1 Построение начального плана перевозок

    Построение начального решения (как и последующие расчеты) проводят в таблице:

        Клетка ( i , j ) таблицы соответствует коммуникации, связывающей i-го поставщика сj-м потребителем.

    Построить начальный план перевозок означает - назначить объемы перевозок в  клетки таблицы таким образом, чтобы:

    а) число заполненных клеток было (m+n-1). (Тогда план перевозок будет отвечать базисному решению ЗЛП);

    б) сумма перевозок в любой строке должна быть равна запасу соответствующего поставщика, а сумма перевозок в каждом столбце равна потребности потребителя. (Условие выполнения ограничений ТЗ). Существует несколько способов нахождения начального решения, которые отличаются только выбором клетки, в которую назначается очередная перевозка. Так, в способе северо-западного угла (СЗУ) для очередного назначения перевозки выбирается левая верхняя клетка таблицы (при этом никак не учитываются цены перевозок). Наоборот, в способе минимальной стоимости (МС) для заполнения выбирается клетка текущей таблицы с минимальной ценой перевозки, что в большинстве случаев (но не всегда) приводит к более дешевому (а значит и более близкому к оптимальному) начальному плану перевозок.

    Мы  будем пользоваться способом минимальной стоимости (МС).

    Изложим теперь алгоритм нахождения начального решения.

    1. Определенным способом выбираем клетку в текущей таблице. Пусть она имеет индексы (i, j) (i -номер поставщика, j - номер потребителя).

            2. В качестве перевозок в эту клетку назначаем наименьшую из ai и потребности bj. 

    xij = min{ ai, bj } 

    З. Уменьшим запас ai и потребность bj на величину перевозки xij, т.е. 

    ai = ai - xij,

    bj =bj -xij 

    4. При исчерпании запаса (ai = 0) запрещаем к перевозке оставшиеся свободные клетки i-ой строки, а при исчерпании потребности

    (bj =0) запрещаем такие же клетки вj-ом столбце.

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

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

        Способ минимальной стоимости:

    

    1.Клетки  с минимальной ценой (3,1), (3,2) и  (3,3). Выбираем, например, (3,2). (Далее все  шаги, как в предыдущем способе).

    2 . x32 = min{50,60} = 50

    3. a '3 =50-50=0, b '2 = 100-50=50

    4.Запрещаем  строку 3. 

      

    Клетка с min ценой ~ (2,3)

    x23 = min{70,80} = 70

    a2=70-70=0, b'3 = 80-70=10

    Запрещаем строку 2.

          1     2     3
     60     5

    60

    10     12
    Χ     8

    -

    6

    -

    4

    70

 
    Χ
    0     0

    50

    0

    -

          50     10
     
 
 
 

    Клетка  с min ценой ~ (1,1)

    x 11=min{120,60} = 60

    a 1' =120-60 = 60, b1' = 0

    4.В  первом столбце запрещать уже нечего. Текущая таблица содержит две клетки (1,2) и (1,3).

      

    1.Выбираем  клетку (1,2)

    2.x 12 =min{110,100} = 100

    3.a 1 =110-100 = 10, b'1 = 0

    4.Текущая таблица содержит одну клетку (1,3). 

      

    1. Выбираем последнюю клетку(1,3)

    2. x13=min{10,10} = 10

    3.a1' = b3 = 0

    4.Таблица  исчерпана. Конец.

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

ШАГ 2. Проверка текущего плана на оптимальность.

        Признаком того, что текущий план перевозок является оптимальным, служит условие,

    (1)ui +vj -cij ≤0 

    Которое  выполняется для всех клеток таблицы. Неизвестные здесь величины ui и vj (называемые потенциалами) определяются из условий

    (2)ui + vj = cij 

    Условие (1) означает невозможность появления "спекулятивной" цены. Само же название "потенциалы" заимствовано из физического  закона о том, что работа по перемещению  заряда в электростатическом поле равна  разности потенциалов в данных точках поля (У нас: "...цена перевозки  единицы продукции по коммуникации равна разности цен в конце  и в начале пути")

    Так как заполненных клеток в таблице (m+n-1) штук, а неизвестных и (m+n) штук, то для их определения имеется система из (m+n-1) уравнений относительно (m+n) неизвестных. Чтобы найти решение (хотя бы какое-нибудь) такой системы, достаточно положить одно из неизвестных (произвольное) равным некоторому произвольно выбранному числу. Тогда остальные определяются единственным образом. Можно решать эту систему непосредственно (продолжаем работать с нашим "старым" примером и найдем потенциалы для начального плана, построенного способом МС).

    Заполненные клетки Уравнения 

    (1,1) u1 + v1 =5

    (1,2) u1 + v2 =10

    (1,3) u1 + v3 =12

    (2,3) u2 +v3 =4

    (3,2) u3 +v2 =0 

    Положим, например, неизвестное u 1 равным 0 (через него можно из первых трех уравнений найти v1, v2 и v3). Последовательно из них находим u 2 , u 3.

    Этот  метод можно сформулировать в виде единого правила:

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

    Применим  это правило для определения  u и v в нашем примере и получим: 

    u1 =0, u2 =-8, u3 =-6

    v1 =5, v2 =10, v3 =12  

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

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

    (2,1) u2+v1-c21=-8+5-8=-11<0

    (2,2) u 2 +v2 -c22=-8+10-6=-4<0

    (3,1) u 3 +v1 -c31=-10+ 5-0=-5<0

    (3,3) u 3 +v3 -c33=-10+12-0=2>0 

    Следовательно, условие оптимальности нарушено в клетке (3,3).

    Имеющийся план перевозок можно улучшить.

    Дадим описание заключительного шага алгоритма  метода потенциалов. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Информация о работе Решения задач в MathCAD