Latihan kendala logika 2
Anda bekerja di sebuah pusat distribusi truk dan perlu memutuskan ke lokasi mana dari 6 lokasi pelanggan Anda akan mengirim truk. Tujuan Anda adalah meminimalkan jarak yang ditempuh truk.
| Location | Distance |
|---|---|
| A | 86 |
| B | 95 |
| C | 205 |
| D | 229 |
| E | 101 |
| F | 209 |
Sebuah dictionary dist, dan sebuah list cust telah dibuatkan untuk Anda yang berisi jarak dan nama setiap lokasi pelanggan. Masukan tersebut telah dicetak di konsol untuk Anda.
Latihan ini merupakan bagian dari kursus
Analitik Rantai Pasok dengan Python
Instruksi latihan
- Perbarui kendala agar model memilih setidaknya satu lokasi
- Tambahkan kendala sehingga jika lokasi A dipilih maka lokasi D juga dipilih.
- Tambahkan kendala sehingga jika lokasi B dipilih maka lokasi E juga dipilih.
Latihan interaktif langsung praktik
Cobalah latihan ini dengan melengkapi kode contoh ini.
model = LpProblem("Loading Truck Problem", LpMinimize)
x = LpVariable.dicts('ship_', cust, cat='Binary')
model += lpSum([dist[i]*x[i] for i in cust])
# Define Constraint
model += ____ + ____ + ____ + ____ + ____ + ____ >= ____
model += ____ - ____ <= ___
model += ____ - ____ <= 0
model.solve()
for i in cust:
print("{} status {}".format(i, x[i].varValue))