コード例 #1
0
ファイル: randomoptimize.py プロジェクト: gepuro/tokyoci5
import time
import random
import math
import optimization

def randomoptimize(domain, costf):
    best = 999999999
    bestr = None
    for i in range(1000):
        # 無作為解の生成
        r = [random.randint(domain[i][0], domain[i][1])
             for i in range(len(domain))]

        # コストの取得
        cost = costf(r)

        # 最良解と比較
        if cost < best:
            best = cost
            bestr = r
    return bestr # 書籍にはrと書かれていた

if __name__ == '__main__':
    domain = [(0,9)]*(len(optimization.people)*2) # 書籍には(0.8)と書かれていた
    s = randomoptimize(domain, optimization.schedulecost)
    optimization.printschedule(s)
    cost = optimization.schedulecost(s)
    print('cost is %4s' % (cost))

コード例 #2
0
ファイル: test5.py プロジェクト: qingfeng0820/ML
def test_print_schedule():
    s = [1, 4, 3, 2, 7, 3, 6, 3, 2, 4, 5, 3]
    optimization.printschedule(s)
コード例 #3
0

def createschedule(people, dest, dep, ret):
    sid = getkayaksession()
    flights = {}

    for p in people:
        name, origin = p

        # outbound flight
        searchid = flightsearch(sid, origin, dest, dep)
        flights[(origin, dest)] = flightsearchresults(sid, searchid)

        # return flight
        searchid = flightsearch(sid, dest, origin, ret)
        flights[(origin, dest)] = flightsearchresults(sid, searchid)

    return flights


if __name__ == '__main__':
    import optimization
    f = createschedule([('Nico', 'SFO'), ('Kerstin', 'SFO')],
                       'LGA',
                       dep='12/30/2008',
                       ret='1/2/2009')

    domain = [(0, 30)] * len(f)
    s = optimization.geneticoptimize(domain, optimization.costfunc(f, 'LGA'))
    optimization.printschedule(s, 'LGA')
コード例 #4
0
ファイル: lab2.py プロジェクト: arkuzmin/decision-theory
def printschedule(name, s):
  print(name)
  print('----------------------------------')
  optimization.printschedule(s)
コード例 #5
0
ファイル: test5.py プロジェクト: qingfeng0820/ML
def test_find_optimized_schedule(optimization_method):
    domain = [(0, 8)] * (len(optimization.people) * 2)
    r = optimization_method(domain, optimization.schedulecost)
    optimization.printschedule(r)
    print optimization.schedulecost(r)
コード例 #6
0
             [p.firstChild.data.split(' ')[1] for p in arrivals],
             [parseprice(p.firstChild.data) for p in prices])


def createschedule(people, dest, dep, ret):
  sid = getkayaksession()
  flights = {}

  for p in people:
    name, origin = p

    # outbound flight
    searchid = flightsearch(sid, origin, dest, dep)
    flights[(origin, dest)] = flightsearchresults(sid, searchid)

    # return flight
    searchid = flightsearch(sid, dest, origin, ret)
    flights[(origin, dest)] = flightsearchresults(sid, searchid)

  return flights


if __name__ == '__main__':
  import optimization
  f = createschedule([('Nico', 'SFO'), ('Kerstin', 'SFO')], 'LGA',
      dep='12/30/2008', ret='1/2/2009')

  domain = [(0, 30)] * len(f)
  s = optimization.geneticoptimize(domain, optimization.costfunc(f, 'LGA'))
  optimization.printschedule(s, 'LGA')
コード例 #7
0
import optimization
import dorm
import socialnetwork

# Group Travel Problem
print('<----Group Travel---->')
s = [1, 4, 3, 2, 7, 3, 6, 3, 2, 4, 5, 3]
optimization.printschedule(s)

cost = optimization.schedulecost(s)
print('Present cost:%f' % cost)

print('\n<----Random Searching---->')
domain = [(0, 9)] * (len(optimization.people) * 2)
print(s)
s = optimization.randomoptimize(domain, optimization.schedulecost)
cost = optimization.schedulecost(s)
print('Present cost:%f' % cost)
optimization.printschedule(s)

print('\n<----Hill Climbing---->')
s = optimization.hillclimb(domain, optimization.schedulecost)
print(s)
cost = optimization.schedulecost(s)
print('Present cost:%f' % cost)
optimization.printschedule(s)

print('\n<----Simulated Annealing---->')
s = optimization.annealingoptimize(domain, optimization.schedulecost)
print(s)
cost = optimization.schedulecost(s)
コード例 #8
0
import optimization as op
import time

s = [1,4,3,2,7,3,6,3,2,4,5,3]
domain = [(0,9)]*len(s)

print 'fix:',
start = time.clock()
print op.schedulecost(s)
op.printschedule(s)
print 'running time',time.clock()-start
print

print 'random optimization:',
start = time.clock()
sol = op.randomoptimize(domain)
print op.schedulecost(sol)
op.printschedule(sol)
print 'running time',time.clock()-start
print

print 'hill climb:',
start = time.clock()
sol = op.hillclimb(domain)
print op.schedulecost(sol)
op.printschedule(sol)
print 'running time',time.clock()-start
print 

print 'annealing optimization:',
start = time.clock()
コード例 #9
0
# uWorldBank,uRiver,uEarth =201,202,203
# mynet.generatehiddennode([wWorld,wBank],[uWorldBank,uRiver,uEarth])
# for c in mynet.con.execute('select * from wordhidden'):print c
#
# for c in mynet.con.execute('select * from hiddenurl'):print c
#
# mynet.trainquery([wWorld,wBank],[uWorldBank,uRiver,uEarth],uWorldBank)
# mynet.getresult([wWorld,wBank],[uWorldBank,uRiver,uEarth])
#
# s=[1,4,3,2,7,3,6,3,2,4,5,3]
# from improve_schedulecost import improve_schedulecost
# money=improve_schedulecost(s)
# print 'totalprice='+str(money)

from annealing_algorithm import annealing_algorithm
from optimization import schedulecost
from optimization import people
from optimization import printschedule
domain=[(0,9)]*(len(people)*2)
# s,costf=annealing_algorithm(domain,schedulecost)
# printschedule(s)
# print costf

from genetic_algorithm import genetic_algorithm
s=genetic_algorithm(domain,schedulecost)
printschedule(s)

# from optimization import geneticoptimize
# s=geneticoptimize(domain,schedulecost)
# printschedule(s)
コード例 #10
0
# uWorldBank,uRiver,uEarth =201,202,203
# mynet.generatehiddennode([wWorld,wBank],[uWorldBank,uRiver,uEarth])
# for c in mynet.con.execute('select * from wordhidden'):print c
#
# for c in mynet.con.execute('select * from hiddenurl'):print c
#
# mynet.trainquery([wWorld,wBank],[uWorldBank,uRiver,uEarth],uWorldBank)
# mynet.getresult([wWorld,wBank],[uWorldBank,uRiver,uEarth])
#
# s=[1,4,3,2,7,3,6,3,2,4,5,3]
# from improve_schedulecost import improve_schedulecost
# money=improve_schedulecost(s)
# print 'totalprice='+str(money)

from annealing_algorithm import annealing_algorithm
from optimization import schedulecost
from optimization import people
from optimization import printschedule
domain = [(0, 9)] * (len(people) * 2)
# s,costf=annealing_algorithm(domain,schedulecost)
# printschedule(s)
# print costf

from genetic_algorithm import genetic_algorithm
s = genetic_algorithm(domain, schedulecost)
printschedule(s)

# from optimization import geneticoptimize
# s=geneticoptimize(domain,schedulecost)
# printschedule(s)
コード例 #11
0
from pprint import pprint

import optimization

domain = [(0, 9)] * (len(optimization.people) * 2)

# random search
s = optimization.randomoptimize(domain, optimization.schedulecost)
print(optimization.schedulecost(s))
pprint(optimization.printschedule(s))

# hillclimb
s = optimization.hillclimb(domain, optimization.schedulecost)
print(optimization.schedulecost(s))
optimization.printschedule(s)

# simulated annealing
s = optimization.annealingoptimize(domain, optimization.schedulecost)
print(optimization.schedulecost(s))
pprint(optimization.printschedule(s))

# genetic algorithms
s = optimization.geneticoptimize(domain, optimization.schedulecost)
# print(optimization.schedulecost(s))
pprint(optimization.printschedule(s))
コード例 #12
0
def test_printschedule(s):
    sys.stderr.write("testing printschedule...\n")
    optimization.printschedule(s)
コード例 #13
0
def test_genetic(domain):
    sys.stderr.write("testing genetic optimization...\n")
    s = optimization.geneticoptimize(domain, optimization.schedulecost)
    optimization.printschedule(s)
コード例 #14
0
def test_annealing(domain):
    sys.stderr.write("testing annealing optimization...\n")
    s = optimization.annealingoptimize(domain, optimization.schedulecost)
    print optimization.schedulecost(s)
    optimization.printschedule(s)
コード例 #15
0
def test_hillclimb(domain):
    sys.stderr.write("testing hillclimb optimization...\n")
    s = optimization.hillclimb(domain, optimization.schedulecost)
    print optimization.schedulecost(s)
    optimization.printschedule(s)
コード例 #16
0
def test_randomoptimize(domain):
    sys.stderr.write("testing random optimization...\n")
    s = optimization.randomoptimize(domain, optimization.schedulecost)
    print optimization.schedulecost(s)
    optimization.printschedule(s)