Решение LPP ​​с использованием симплекс-метода с переменными в зависимости от диапазона

В настоящее время я работаю над проблемой, которую можно решить с помощью линейного программирования в соответствии с исследованиями, которые я провел здесь, на YouTube и на других сайтах. Я ознакомился с так называемым симплекс-методом и его разновидностями, такими как - Big M, Dual SM, но все же не могу найти примеров, которые бы напоминали формулировку моей проблемы и, соответственно, ее решение.

Мой вопрос будет: как конвертировать программу в стандартную форму?

Я думаю, что минимизация и максимизация должны работать, но давайте сделаем это с минимизацией.

Я использую 'n' как обозначение, что в качестве входных данных может быть 'n' количество переменных, т.е. иногда будет 10, иногда - 60, да.. это много. Но если есть способ решить эту проблему, я думаю, он должен работать для любого количества переменных.

Чтобы минимизировать:
Z = a1*x1 + a2*x2 + .. + an*xn, где a1 .. an просто случайные коэффициенты, все положительные.

При условии: (вот часть, где я не уверен, можно ли это сделать так)

N1 ≤ b1*x1 + b2*x2 + .. + bn*xn ≤ N2<br>
M1 ≤ c1*x1 + c2*x2 + .. + cn*xn ≤ M2<br>
O1 ≤ d1*x1 + d2*x2 + .. + dn*xn ≤ O2
  • где N1, N2, M1, M2, O1 & O2 натуральные числа, > 0, например 101, 155, 6433 и т. д.
    и конечно N1 < N2, M1 < M2, O1 < O2
  • где b1 .. bn, c1 .. cn, d1 .. dn просто случайные коэффициенты, все положительные

Также каждая неизвестная переменная - x1, x2 .. xn ограничен так:

X1-min ≤ x1 ≤ X1-max
X2-min ≤ x2 ≤ X2-max
..
Xn-min ≤ xn ≤ Xn-max

Конечно, все минусы и максимумы известны, положительные, где Xmin 0.
X1..n всегда должно быть> 0 и между его мин / макс.

Я знаю о добавлении слабых, избыточных, искусственных переменных, но я не уверен на 100%, насколько это просто. Мои первоначальные мысли состояли в том, чтобы разделить каждое неравенство на две части и, в зависимости от его знака, добавить либо слабые, либо избыточные + искусственные переменные и продолжить работу с таблицами.

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

Заранее спасибо! Надеюсь, вы, ребята, хорошего дня!

1 ответ

У вас есть как больше, так и меньше, чем ограничения. Вам необходимо преобразовать их в пару ограничений с той же формой неравенства, умножив на минус один:

N1 ≤ b1*x1 + b2*x2 + .. + bn*xn ≤ N2

идет к

 b1*x1 + b2*x2 + .. + bn*xn ≤ N2
-b1*x1 - b2*x2 - .. - bn*xn ≤ -N1

Вы можете сделать это также для границ переменных (просто коэффициенты там имеют один 1, а остальные ноль). И тогда все готово: это довольно стандартная форма.

Если я что-то упустил?

Другие вопросы по тегам