Модель пульпы неосуществима, но дает осуществимые результатыPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Модель пульпы неосуществима, но дает осуществимые результаты

Сообщение Anonymous »

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

Код: Выделить всё

data = [
{
"Day": "2024-07-10",
"Location": "Depo",
"Pick-up": "A",
"Boxes": 11,
"Weekday": "Wednesday",
"Time to pickup": "12:30:00"
},
{
"Day": "2024-07-10",
"Location": "Depo",
"Pick-up": "B",
"Boxes": 2,
"Weekday": "Wednesday",
"Time to pickup": "12:30:00"
},
{
"Day": "2024-07-10",
"Location": "Depo",
"Pick-up": "C",
"Boxes": 5,
"Weekday": "Wednesday",
"Time to pickup": "12:00:00"
}
]

df_stint = pd.DataFrame(data)

# Parameters
bus_capacity = 10
num_buses = 6

model = pulp.LpProblem("Bus_Optimization", pulp.LpMinimize)

# Decision variables
pickup_vars = pulp.LpVariable.dicts("Pickup",
[(i, j) for i in range(num_buses) for j in range(len(df_stint))],
cat = 'Binary')

dropoff_vars = pulp.LpVariable.dicts("Dropoff",
[(i, k) for i in range(num_buses) for k in df_stint['Location'].unique()],
cat='Binary')

# Split variables
split_vars = pulp.LpVariable.dicts("Split",
[(i, j) for i in range(num_buses) for j in range(len(df_stint))],
lowBound=0,
cat='Integer')

# Objective: Minimize the number of buses used
model += pulp.lpSum([dropoff_vars[i, k] for i in range(num_buses) for k in df_stint['Location'].unique()])

# Constraint 1: each stint is picked up exactly once
for j in range(len(df_stint)):
model += pulp.lpSum(pickup_vars[i, j] for i in range(num_buses)) == 1

# Constraint 2: capacity constraint
for i in range(num_buses):
model += pulp.lpSum(df_stint.iloc[j]['Boxes'] * pickup_vars[i, j] for j in range(len(df_stint))) 

Подробнее здесь: [url]https://stackoverflow.com/questions/78737600/pulp-model-is-infeasible-but-gives-feasible-results[/url]
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Решатели ortools GLOP, PDLP мгновенно пишут, что модель неосуществима
    Гость » » в форуме Python
    0 Ответы
    18 Просмотры
    Последнее сообщение Гость
  • Обнаружение статуса предварительного разрешения в модели пульпы
    Anonymous » » в форуме Python
    0 Ответы
    20 Просмотры
    Последнее сообщение Anonymous
  • Максимизация классификации Corretc с помощью пульпы
    Anonymous » » в форуме Python
    0 Ответы
    26 Просмотры
    Последнее сообщение Anonymous
  • Максимизация правильной классификации с помощью пульпы
    Anonymous » » в форуме Python
    0 Ответы
    13 Просмотры
    Последнее сообщение Anonymous
  • Решатели пульпы недоступны
    Anonymous » » в форуме Python
    0 Ответы
    12 Просмотры
    Последнее сообщение Anonymous

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