/ / ako vyriešiť toto celé programovanie? - excel, integer, alokácia, lineárne programovanie, lineárne

ako vyriešiť toto celé programovanie? - excel, integer, alokácia, lineárne programovanie, lineárne

Dobrý deň, pracujem na tomto celočíselnom programovaní.

moja práca až do teraz sú:

 Decision Variable:
Yi = 1 if the ambulances located in region i,
Yi = 0 otherwises




Objective: maximize the no. of resident that can be reached within 5
mins, Z =

Y1(43+45)+Y2(52+58)+Y3(45+58)+.......+Y8(52+45+58+58)

43 + 45 je číslo č. obyvateľov Y1 a Y5, v ktorých možno dosiahnuť do 5 minút, ak sú sanitky umiestnené v Y1.

 Constraints: Y1+Y2+Y3+...+Y8 = 2  (only two locations)

Potom neviem, čo by malo byť pridané do obmedzení a cieľ sa zdá byť zle ...

mohol by mi niekto pomôcť? Ďakujem ti!

tu zadajte popis obrázku

odpovede:

1 pre odpoveď č. 1

Ak ste v poriadku so všeobecným programovaním, je tu implementácia v Pythone.

Y = [{}]*100
Y[1]={1:43, 5:45}
Y[2]={2:52, 8:58}
Y[3]={3:45, 6:58}
Y[4]={4:40, 5:45}
Y[5]={1:43, 5:45, 4:40, 8:58}
Y[6]={3:45, 6:58, 7:44, 8:58}
Y[7]={6:58, 7:44}
Y[8]={2:52, 5:45, 6:58, 8:58}

result = {"loc1":0, "loc2": 0, "total":0}
for i in range(1, 9):
for j in range (i + 1, 9):
Y[i * 10 + j] = Y[i].copy()
Y[i * 10 + j].update(Y[j])
total = 0
for key in Y[i * 10 + j]:
total += Y[i * 10 + j][key]
if total > result["total"]:
result["loc1"] = i
result["loc2"] = j
result["total"] = total
print i, " ", j, " ", total

print result