АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Реализация симплекс-метода в виде симплексных таблиц

Читайте также:
  1. I.2.4. Алгоритм симплекс-метода.
  2. Административно-правовые нормы, их действие и реализация.
  3. Алгоритм симплекс-метода
  4. Алгоритм симплекс-метода.
  5. Алгоритмизация модели и её машинная реализация
  6. Алгоритмы методов и их реализация в MS EXCEL
  7. В4.Реализация и толкование норм международного права.
  8. Вопрос: Субъективная реализация переходного мировоззрения на примере Никколо Макиавелли.
  9. Глава 6. Реализация норм административного права
  10. Глава вторая. ПРАКТИЧЕСКАЯ РЕАЛИЗАЦИЯ
  11. Интерфейс программы Еxcel. Ввод и редактирование данных. Создание таблиц. Простейшие приемы работы в Excel.
  12. Использование множества таблиц в одном запросе. Связывание таблиц.оператора SELECT, в предложении FROM допускается указание нескольких таблиц.

Для реализации алгоритма симплекс-метода при подсчетах удобно использовать симплексные таблицы.

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

Таблица 1.3.1

    с1 сj cn
Б СБ     j n
Б1 c(Б1) b(Б1) a(1,Б1) a(j,Б1) a(n,Б1)
….
Бi c(Бi) b(Бi) a(1,Бi) a(j,Бi) a(n,Бi)
Бm c(Бm) b(Бm) a(1,Бm) a(j,Бm) a(n,Бm)
  z Δ1 Δj Δn

Правила составления симплекс-таблицы:

-вторая строка таблицы состоит из заголовков, которые обозначают, какую именно информацию будут содержать находящиеся ниже столбцы:

Б – перечень номеров базисных переменных; сБ – коэффициенты целевой функции, соответствующие базисным переменным; 0 – вектор b, 1, …, n – номера столбцов матрицы ограничений.

-Каждая базисная переменная Бi задает единственное уравнение-ограничение, в которое она входит. Это позволяет при помощи базисных переменных нумеровать координаты векторов, например, a(j,Бi) – коэффициент перед j-й переменной в уравнении, содержащем базисную переменную с номером Бi.

-в первой строке над столбцами 1, …, n записываются коэффициенты целевой функции, соответствующие всем переменным;

-в последней строке под столбцами 1, …, n вычисляются координаты вектора Δ (для базисных переменных – нули), под столбцом 0 – вычисляется значение целевой функции при выбранном плане.

Заметим, что поскольку в ходе решения мы имеем дело с базисными планами, и при этом АБ = Е, то хБ = АБ-1b = b, т.е. в столбце 0 будут содержаться значения базисных координат текущего плана. Остальные (небазисные) координаты плана, как и раньше, равны нулю.

Симплексная таблица представляет собой удобное средство для проведения всех вычислений симплекс-метода.

1) Для вычисления координат вектора Δ необходимо сначала найти скалярное произведение векторов сБ и j-го столбца, а затем полученный результат вычесть из сj (его значение находится над столбцом j). Нетрудно увидеть, что для базисных переменных результат всегда будет равен нулю.

2) Скалярное произведение вектора сБ и столбца 0 дает значение целевой функции для найденного базисного плана.

3) Если компонента ΔJ>0, то J-ю переменную нужно ввести в базис. Согласно алгоритма симплекс-метода, чтобы найти переменную, выводимую из базиса, нужно координаты вектора b (столбец 0) разделить на соответствующие координаты столбца J (только для положительных координат столбца J) и среди всех этих отношений выбрать минимум. Выводимая из базиса переменная БI содержится в строке, которая дает минимальное отношение.

Для проведения дальнейших расчетов выделяем строку БI и столбец J.

Таблица 1.3.2

  с1 сJ cn
Б СБ     j n
Б1 c(Б1) b(Б1) a(1,Б1) a(J,Б1) a(n,Б1)
….
Бi c(Бi) b(Бi) a(1,Бi) a(J,Бi) a(n,Бi)
Бm c(Бm) b(Бm) a(1,Бm) a(J,Бm) a(n,Бm)
    z Δ1 ΔJ>0 Δn
   
                     

4) Заменим в базисе переменную БI на переменную J. Чтобы подготовить данные для заполнения новой симплексной таблицы, необходимо в системе ограничений вместо переменной БI выразить переменную J.

Для этого совершим два действия:

1.В уравнении БI коэффициент перед переменной J сделаем равным 1;

2.Из остальных уравнений переменную J исключим.

В результате для обновленного базиса опять выполняется условие АБ=Е.

Другими словами, описанные действия означают:

1. В строке БI все коэффициенты столбцов 0,…,n делим на a(J,Бi) и записываем в такую же строку новой таблицы. При этом в столбце Б помечаем, что данная строка уже соответствует базисной переменной J. Во второй столбец заносим соответствующий коэффициент целевой функции для этой переменной. В остальных строках содержимое первых двух столбцов не изменяется.

2. Чтобы получить новое содержание столбцов 0,…,n для оставшихся строк, например, для Бk, нужно взять предыдущее значение коэффициента a(J, Бk), домножить на него вектор, полученный в п.1. для строки J, и вычесть получившийся вектор значений из предыдущих значений 0,…,n.

Вычислительные формулы:

Пусть a(i, Бj) – коэффициенты предыдущей таблицы, a*(i, Бj) – коэффициенты для нового базиса, переменная БI выводится из базиса, J - вводится. Тогда

1. a*(j, J) = a(j, БI) / a(J, БI);

2. При Бk≠J: a*(j, Бk) = a(j, Бk) – a(J, Бk) a*(j, J).

Остается вычислить новый вектор Δ и повторить итерацию симплекс-метода.

 

 


1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 |

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



Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.004 сек.)