PuLP: решатель не возвращает хорошее решениеPython

Программы на Python
Ответить Пред. темаСлед. тема
Гость
 PuLP: решатель не возвращает хорошее решение

Сообщение Гость »


Я хочу решить следующую задачу оптимизации: ![Проблема, которую я хочу решить] (Изображение)

С:


Изображение
(x=(y2,...,y25))

И: s_m = s_0 + сумма для i=1 до 12 (s0 + сумма для k=1 до m (p0 + сумма l=1 до k (y[2l+1] -y[2l])) - д[к]))

Проблема в том, что моя функция не возвращает хорошее решение. Вот код:

# Разрешение р0 = 40 с0=0 d = {'0': 0., '1': 10, '2': 10, '3': 50, '4': 50, '5': 70, '6': 40, '7': 20, '8': 30, '9': 20, '10': 20, '11': 20, '12': 40} защита разрешения_pb(X): # Constantes et données de l'énonce защита lst_mois(я): Л = [] для n в диапазоне (1, i+1): L.append(str(n)) вернуть Л v = [] для n в диапазоне (2, 26): v.append(str(n)) мой = [] для n в диапазоне (1, 13): mois.append(str(n)) # Определение проблемы prob = LpProblem("Планирование производства", LpMinimize) # Определение переменных y = LpVariable.dicts("индексы", v, 0) # Объект функции pro += 20 * lpSum([(s0 + lpSum([p0 + lpSum([(y[str(2*int(k)+1)] - y[str(2*int(k))]) for k in lst_mois(int(i))]) - d для i in lst_mois(int(m))])) для m в mois]) + 50 * lpSum([y для i в v]), "Coût" # Противопоказания для м в месяцах: prob += s0 + lpSum([p0 + lpSum([(y[str(2*int(k)+1)] - y[str(2*int(k))]) для k в lst_mois(int(i )))]) - d для i в lst_mois(int(m))]) >= 0, "Positivite du stock au mois" +m для м в месяцах: проб += p0 + lpSum([y для i в v]) >= 0 если X < np.inf: для м в месяцах: prob += p0 + lpSum([y[str(2*int(k)+1)] - y[str(2*int(k))] для k в lst_mois(int(m))])
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»