Симплекс-метод решения задачи линейного программирования. Коэффициенты при базисных переменных

Страницы работы

Уважаемые коллеги! Предлагаем вам разработку программного обеспечения под ключ.

Опытные программисты сделают для вас мобильное приложение, нейронную сеть, систему искусственного интеллекта, SaaS-сервис, производственную систему, внедрят или разработают ERP/CRM, запустят стартап.

Сферы - промышленность, ритейл, производственные компании, стартапы, финансы и другие направления.

Языки программирования: Java, PHP, Ruby, C++, .NET, Python, Go, Kotlin, Swift, React Native, Flutter и многие другие.

Всегда на связи. Соблюдаем сроки. Предложим адекватную конкурентную цену.

Заходите к нам на сайт и пишите, с удовольствием вам во всем поможем.

Фрагмент текста работы

Аннотация лекции. Лекция посвящена симплекс-методу решения задачи линейного программирования. Рассмотрены основы решения задачи в общем виде (с построением симплексной таблицы).

3.2.2 Решение задачи в общем виде. Симплексная таблица

Вернемся к решению задачи в общем виде из раздела 3.2, начиная с исходного опорного плана Х = (b1, b2, . . . bm, 0 ... 0 ). Обозначим z целевую функцию задачи. На

14243

n m−

                                                                                                          n                         m

исходном плане значение целевой функции zcj xj ci bi , так как слагаемые, соответствующие небазисным переменным, обратятся в 0. 

Для применения симплекс-метода к системе необходимо приписать еще одно

n

ограничение - cj xj = 0. 

В решенном примере это было четвертое ограничение. Поскольку в этом примере базисные переменные исходного опорного плана (х5-7) не входили в целевую функцию, то и в критериальное ограничение они не вошли. В общем случае это не так. Например, если бы задача имела вид:

max -5х1 + 2х3 

                                                  -2,5х1 – 0,5х2 + х3           + 0,5х5                                               = 1

                                                   1,5х1 + 0,5х2  + х4 - 0,5х5 + х6               = 4

                                                  -3х1                                    + 5х4                                 + х7  = 7

х1-7 ≥ 0 то в качестве базисных в исходном опорном плане следовало бы взять переменные х3, х6 и

n х7. Одна из них - х3 - входит в целевую функцию. Уравнение z - cj xj = 0 здесь приняло

бы вид: z + 5х1 - 2х3 = 0. Чтобы увеличить z, здесь следовало бы увеличить х3. Но переменная х3 и так является базисной, уже равна 1, и из ограничений следует, что увеличить ее до большего значения невозможно. Такое затруднение возникло из-за того, что после добавления критериального ограничения столбцы коэффициентов перестали быть единичными. Базисные переменные должны входить в него с нулевыми коэффициентами, а в последней задаче это не так.

Чтобы избежать этого, выразим базисную переменную х3 из первого ограничения

через небазисные         (-2,5х1     –     0,5х2       + х3       +     0,5х5     =         1 ⇔ х3        =                                            1         + 

+ 2,5х1 + 0,5х2 - 0,5х5) и подставим в целевую функцию: z = -5х1 + 2х3 = -5х1 +

n

+ 2*(1 + 2,5х1 + 0,5х2 - 0,5х5) = 2 + х2 - х5. Теперь уравнение z - cj xj = 0 примет вид: z - х2 + х5 = 2, т.е. вид уравнения (4`) из системы (16). Рекомендуется сравнить остальные ограничения последней задачи с уравнениями (16): они в точности совпадают; и целевая функция взята из того же примера.

Итак, в общем случае после введения критериального ограничения столбцы при базисных переменных могут перестать быть единичными. Чтобы избежать этого, выразим базисные переменные x1-m из ограничений через небазисные: 

x1 = b1 - a1 m+1xm+1 - . . . -a1 nxn

x i = b i - a i m+ 1xm+ 1 - . . . -a i nxn

xm = bm - am m+1xm+1 - . . . -am nxn  

                                                                                            n                         m                           n

и подставим их в целевую функцию: z = ∑cj x j =∑cj x j + ∑cj xj = c1(b1 - a1 m+1xm+1 - .

                                                                                          j 1=                j 1=              j m 1= +

. . -a1 nxn) + . . . + cm(bm - am m+1xm+1 - . . . - am nxn) + cm+1x m+1 + . . . + cnxn

После приведения подобных членов и переноса свободного члена в правую часть критериальное ограничение примет следующий вид: z + xm+1(c1a1 m+1 + . . . + cmam m+1 - c m+1)

m

+ . . . + xn(c1a1 n+ . . . + cmam n - cn) = c1b1 + . . . + cmbm; или z + xm+1(∑ci aim+1 - cm+1) + … + i 1=

m xn( ∑ci ain - cn) = m cbi      i .

       i 1=                             i=1

Обозначим коэффициенты при переменных xj в критериальном ограничении -  m

j = ∑ci aij - cj; а свободный член этого ограничения - d = ∑m cbi  i

          i 1=                                                                                                                  i=1

Отметим, что коэффициенты при базисных переменных в критериальном ограничении будут нулевыми, что и требовалось получить. Но и эти нулевые коэффициенты

m

также можно рассчитать по формулам ( ∑ci aij - cj): поскольку базисные

Похожие материалы

Информация о работе

Уважаемые коллеги! Предлагаем вам разработку программного обеспечения под ключ.

Опытные программисты сделают для вас мобильное приложение, нейронную сеть, систему искусственного интеллекта, SaaS-сервис, производственную систему, внедрят или разработают ERP/CRM, запустят стартап.

Сферы - промышленность, ритейл, производственные компании, стартапы, финансы и другие направления.

Языки программирования: Java, PHP, Ruby, C++, .NET, Python, Go, Kotlin, Swift, React Native, Flutter и многие другие.

Всегда на связи. Соблюдаем сроки. Предложим адекватную конкурентную цену.

Заходите к нам на сайт и пишите, с удовольствием вам во всем поможем.