mirror of
https://github.com/kuhyx/WUT_Computer_Science.git
synced 2026-07-04 12:43:04 +02:00
43 lines
1.6 KiB
Plaintext
43 lines
1.6 KiB
Plaintext
# 1. Zbiory
|
|
set Samochody;
|
|
set Ladowarki;
|
|
|
|
# 2. Parametery
|
|
# Najwczesniejszy mozliwy czas rozpoczecia ladowania samochodu s na ladowarce l
|
|
param E{s in Samochody, l in Ladowarki};
|
|
# Czas ladowania samochodu s na ladowarce l
|
|
param D{s in Samochody, l in Ladowarki};
|
|
# Czas odjazdu samochodu s
|
|
param O{s in Samochody};
|
|
# Zysk z realizacji kursu przez samochód s
|
|
param Z{s in Samochody};
|
|
|
|
# Zmienna decyzyjna
|
|
# zmienna okreslajaca godzine rozpoczecia ladowania samochodu s na ladowarce l
|
|
var u{s in Samochody, l in Ladowarki}, >= 0 and <= 24;
|
|
# zmienna binarna okreslajaca czy kurs zostanie wykonany
|
|
var y{s in Samochody}, binary;
|
|
# zmienna binarna okreslajaca czy samochód i jest ladowany po samochodzie j na ladowarce l
|
|
var v{i in Samochody, j in Samochody, l in Ladowarki}, binary;
|
|
# zmienna binarna okreslajaca czy samochód s jest ladowany jako pierwszy na ladowarce l
|
|
var p{s in Samochody, l in Ladowarki}, binary;
|
|
# zmienna binarna okreslajacy czy samochód s jest ladowany na ladowarce l
|
|
var k{s in Samochody, l in Ladowarki}, binary;
|
|
|
|
# Funkcja celu
|
|
maximize Q: sum {s in Samochody} y[s]*Z[s];
|
|
|
|
# Ograniczenia
|
|
subject to
|
|
# Samochód nie moze rozpoczac swojego ladownia przed najwczesniejszym mozliwym czasie ladowania.
|
|
Ogr_1{s in Samochody, l in Ladowarki}:
|
|
u[s,l] >= E[s, l];
|
|
# Samochód moze byc ladowany maksymalnie na jednej ladowarce
|
|
Ogr_2{s in Samochody, l in Ladowarki}:
|
|
sum {l in Ladowarki} k[s, l] == y[s]
|
|
Ogr_3{n in Budynki}:
|
|
sum {i in Budynki} f[n,i] <= sum {j in BudynkiNaStart} f[j,n];
|
|
|
|
solve;
|
|
display {i in Budynki, j in Budynki: f[i,j] > 0}: f[i,j];
|
|
display: Q; |