Транспортная проблема с транзитными ограничениямиPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Транспортная проблема с транзитными ограничениями

Сообщение Anonymous »

Мне нужно найти решение транспортной проблемы с ограничениями на транзит, и ниже приведен код, который работает правильно.
Однако я не знаю, как ввести эти ограничения в код. .
Нижняя граница:

< thead>




< /th>





1
2
1
2
1


2
1
1
1
3


0
1
2
1
1


2
1
3
1
2


< /table>
Верхняя граница:












9
8
6
10
5


7
15
< td>4
6
9


5
6
6
5
10


8
5
< td>7
4
8



Все ваши идеи будут оценены по достоинству. Заранее спасибо.

import pandas as pd
import pulp

truck_capacity = 6
suppliers = pd.RangeIndex(name='supplier', stop=4)
consumers = pd.RangeIndex(name='consumer', stop=5)

supply = pd.Series(
name='supply',
index=suppliers,
data=(17, 8, 10, 9),
)
demand = pd.Series(
name='demand',
index=consumers,
data=(6, 15, 7, 8, 8),
)
price_per_tonne = pd.DataFrame(
index=suppliers, columns=consumers,
data=(
(10, 8, 5, 9, 16),
( 4, 3, 4, 11, 12),
( 5, 10, 29, 7, 6),
( 9, 2, 4, 1, 3),
),
).stack()
price_per_tonne.name = 'price'

flow = pd.DataFrame(
index=suppliers, columns=consumers,
data=pulp.LpVariable.matrix(
name='flow_s%d_c%d', cat=pulp.LpContinuous, lowBound=0,
indices=(suppliers, consumers),
),
).stack()
flow.name = 'flow'

trucks = pd.DataFrame(
index=suppliers, columns=consumers,
data=pulp.LpVariable.matrix(
name='trucks_s%d_c%d', cat=pulp.LpInteger, lowBound=0,
indices=(suppliers, consumers),
)
).stack()
trucks.name = 'trucks'

price = truck_capacity * pulp.lpDot(price_per_tonne, trucks)
prob = pulp.LpProblem(name='transportation', sense=pulp.LpMinimize)
prob.setObjective(price)

# The flow must not exceed the supply
for supplier, group in flow.groupby('supplier'):
prob.addConstraint(
name=f'flow_supply_s{supplier}',
constraint=pulp.lpSum(group)

Подробнее здесь: https://stackoverflow.com/questions/783 ... imitations
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Транспортная задача и математическая оптимизация
    Anonymous » » в форуме Python
    0 Ответы
    29 Просмотры
    Последнее сообщение Anonymous
  • Транспортная конечная точка не подключена в Colab Pro+
    Anonymous » » в форуме Python
    0 Ответы
    3 Просмотры
    Последнее сообщение Anonymous
  • Кластеризируйте людей на основе пространственных координат с ограничениями.
    Anonymous » » в форуме Python
    0 Ответы
    28 Просмотры
    Последнее сообщение Anonymous
  • Напишите класс, принимающий любой объект Callable с ограничениями.
    Anonymous » » в форуме C++
    0 Ответы
    41 Просмотры
    Последнее сообщение Anonymous
  • Как сортировать игроков в головоломках/играх по раундам? с дополнительными ограничениями
    Anonymous » » в форуме Php
    0 Ответы
    25 Просмотры
    Последнее сообщение Anonymous

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