from pulp import *
import pandas as pd
import numpy as np
pd.read_excel('Example.xlsx', encoding='latin-1')
prob = pulp.LpProblem('Performance', pulp.LpMaximize)
#### Create Decision Variables:
decision_variables = []
for rownum, row in data.iterrows():
variable = str('x' + str(rownum))
variable = pulp.LpVariable(str(variable), lowBound= row['D']*0.7,
upBound= row['D']*1.3, cat='Continuous')
decision_variables.append(variable)
#### Define Objective Function
total_cost = ""
for rownum, row in data.iterrows():
for i, variable in enumerate(decision_variables):
if rownum == i:
formula = variable * row['C'] * row['F'] / row['D']
total_cost += formula
prob += total_cost
print("Optimization Function: " + str(total_cost))
#### Define Constraints
problem_spend = ""
for rownum, row in data.iterrows():
for i, variable in enumerate(decision_variables):
if rownum == i:
formula = variable * variable * row['C'] * row['F'] * row['E'] / row['D']
problem_spend += formula
prob += (total_spend == problem_spend)
[] Получение следующей ошибки после выполнения части ограничений ####Define: 'TypeError: Non-constant выражения не могут быть умножены. Это может быть связано с тем, что мои ограничения включают нелинейные переменные.
Моя целевая функция линейна: формула: максимизировать [переменная * константа]
Мои ограничения квадратичны: формула: [Переменная * Переменная * Константа == Constant_Value]
Я новичок в PULP и столкнулся с этой ошибкой. Могу ли я использовать CVXPy для решения этой проблемы или каким-либо другим способом?