Menambahkan kendala logis pada latihan studi kasus
Lanjutkan studi kasus model Capacitated Plant Location untuk manufaktur mobil. Anda diberikan empat data frame Pandas demand, var_cost, fix_cost, dan cap yang memuat permintaan per wilayah (ribu unit mobil), biaya produksi variabel (ribu $AS), biaya produksi tetap (ribu $AS), dan kapasitas produksi (ribu unit mobil). Dua daftar Python loc dan size juga telah dibuat, yang berisi lokasi berbeda dan dua jenis kapasitas pabrik. Semua variabel ini telah dicetak ke konsol agar Anda dapat melihatnya. Kode untuk menginisialisasi, mendefinisikan variabel keputusan, membuat fungsi objektif, dan kendala telah disiapkan untuk Anda.
Latihan ini merupakan bagian dari kursus
Analitik Rantai Pasok dengan Python
Instruksi latihan
- Tambahkan kendala logis sehingga jika pabrik berkapasitas tinggi di USA dibuka, maka pabrik berkapasitas rendah di Jerman juga dibuka.
Latihan interaktif langsung praktik
Cobalah latihan ini dengan melengkapi kode contoh ini.
# Initialize, Define Decision Vars., Object. Fun., and Constraints
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='Integer')
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]))
for j in loc:
model += lpSum([x[(i, j)] for i in loc]) == demand.loc[j,'Dmd']
for i in loc:
model += lpSum([x[(i, j)] for j in loc]) <= lpSum([cap.loc[i,s]*y[(i,s)]
for s in size])
# Define logical constraint
model += ____ - ____ <= ____