ПочатиПочніть безкоштовно

Задача з планування логістики 2

Ви знову консультуєте виробника кухонних духовок і допомагаєте планувати логістику. Цього разу ви формуєте план на наступні шість місяців (січ.–черв.). Як і раніше, є два склади (Нью-Йорк і Атланта) та чотири регіональні локації клієнтів (Схід, Південь, Середній Захід, Захід). Вартість доставки з кожного складу до кожного регіону наведена в таблиці нижче. Ваша мета — визначити кількість відправлень зі складів до клієнтів, яка забезпечить найнижчу вартість.

Клієнт New York Atlanta
East $211 $232
South $232 $212
Midwest $240 $230
West $300 $280

Для вас підготовлено словник Python під назвою costs із витратами моделі та три списки: months, warehouse і customers. costs уже виведено, а списки ви можете переглянути в консолі. Крім того, модель уже ініціалізовано.

Ця вправа є частиною курсу

Аналітика ланцюга постачань у Python

Переглянути курс

Інструкції до вправи

  • Визначте змінні рішень у моделі: спочатку за допомогою спискового включення пройдіться по списках months, warehouse і customers, щоб створити список ключів. Використайте цей список ключів із LpVariable.dicts() для оголошення потрібних змінних.
  • Задайте цільову функцію, підсумувавши всі витрати на доставку з певного складу до певного клієнта протягом шести місяців.

Інтерактивна практична вправа

Спробуйте виконати цю вправу, доповнивши цей зразок коду.

# Define decision variables
key = [(m, w, ____) for m in months for w in warehouse for c in customers]
var_dict = LpVariable.dicts('num_of_shipments', 
                            key, 
                            lowBound=____, cat=____)

# Use the LpVariable dictionary variable to define objective
model += lpSum([costs[(w, c)] * ____[(____, ____, ____)] 
                for m in months for w in warehouse for c in customers])
Редагувати та запускати код