Pastebin
Paste #1229: sa
< previous paste - next paste>
Pasted by tdn
reservations = load_reservations(reservations_file)
h = load_hall(seats_file)
# make initial state with ff
s0 = firstfit(h, reservations)
s = s0; e = E(s) # Initial state, energy.
sb = deepcopy(s); eb = e # Initial "best" solution
k = 0 # Energy evaluation count.
kmax = 16000
#kmax = len(reservations) * 10
emax = 0-calc_emax(num_guests(reservations), h)
i = 0
while k < kmax and e > emax: # While time remains & not good enough:
i+=1
sn = neighbour(s) # Pick some neighbour.
en = E(sn) # Compute its energy.
if en < eb: # Is this a new best?
sb = deepcopy(sn); eb = en # Yes, save it.
if P(e, en, temp(k/kmax)) > rand(): # Should we move to it?
s = deepcopy(sn); e = en # Yes, change state.
k = k + 1 # One more evaluation done
log("""Status: en: %s, eb: %s, e: %s""" % (en, eb, e), HINT)
New Paste
Go to most recent paste.