【数据挖掘】最优化算法入门

简介

    optimization用来解决以下问题:有多个变量协作,多种可能方法,输出很大程度上依赖各种变量的协作。

    预测:通过尝试多种不同方法,并为它们打分来决定其效果。

#!/usr/bin/python
import time
import random
import math

#元组中存放的是人和其家乡
people = [('Seymour','BOS'),('Franny','DAL'),('Zooey','CAK'),('Walt','MIA'),
         ('Buddy','ORD'),('Les','OMA')]
destination='LGA'

flights={}
#将小时格式时间转换为分钟
def getminutes(t):
  x=time.strptime(t,'%H:%M')
  return x[3]*60+x[4]
#schedule.txt的文件格式:DAL,LGA,10:30,14:57,290
#其中DAL为起飞地、LGA为目的地,以及起飞时间、到达时间和价格
def loadflights(flightInfo):
    fp = open(flightInfo,'r')
    for line in fp.readlines():
        origin,dest,depart,arrive,price=line.strip().split(',')
        flights.setdefault((origin,dest),[])
        flights[(origin,dest)].append((depart,arrive,price))
#r:[1,4,3,2,7,3,6,3,2,4,5,3],6个人乘坐的航班信息
#此列表代表了一个解决方案
#因为涉及到来回,所以r的长度为人数*2,所以第一和第二个元素代表了某人的去回的两趟
#航班信息
def printschedual(r):
    for d in range(len(r)/2):
      name=people[d][0]
      origin=people[d][1]
      out=flights[(origin,destination)][r[d]]
      ret=flights[(destination,origin)][r[d+1]
      print '%10s%10s %5s-%5s $%3s %5s-%5s $%3s' % (name,origin,\
                                                    out[0],out[1],out[2],\
                                                    ret
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值