Mulai sekarangMulai gratis

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

Lihat Kursus

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 += ____ - ____ <= ____
Edit dan Jalankan Kode