Обмеження для вправи з кейс-стаді
Продовжте кейс-стаді з моделі розміщення потужностей (Capacitated Plant Location) для автовиробника. Вам надано чотири датафрейми Pandas: demand, var_cost, fix_cost і cap, які містять регіональний попит (тис. автомобілів), змінні виробничі витрати (тис. $US), фіксовані виробничі витрати (тис. $US) та виробничі потужності (тис. автомобілів). Також створено два списки Python — loc і size, що містять перелік локацій і два типи потужностей заводів. Усі ці змінні виведено в консоль для перегляду. Код для ініціалізації та визначення змінних рішення, а також для створення цільової функції вже підготовлено для вас.
Ця вправа є частиною курсу
Аналітика ланцюга постачань у Python
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
# Initialize, Define Decision Vars., and Objective Function
model = LpProblem("Capacitated Plant Location Model", LpMinimize)
loc = ['USA', 'Germany', 'Japan', 'Brazil', 'India']
size = ['Low_Cap','High_Cap']
x = LpVariable.dicts("production_", [(i,j) for i in loc for j in loc],
lowBound=0, upBound=None, cat='Continuous')
y = LpVariable.dicts("plant_",
[(i,s) for s in size for i in loc], cat='Binary')
model += (lpSum([fix_cost.loc[i,s] * y[(i,s)] for s in size for i in loc])
+ lpSum([var_cost.loc[i,j] * x[(i,j)] for i in loc for j in loc]))
# Define the constraints
for j in loc:
model += lpSum([____ for i in ____]) ____ demand.loc[____,'Dmd']