Pastebin

Paste #1229: sa

< previous paste - next paste>

Pasted by tdn

Download View as text

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


Do not write anything in this field if you're a human.

Go to most recent paste.