首页 > 解决方案 > 为 Python 程序计时

问题描述

我有一个优化程序,可以生成 150 个不同的阵容,现在我设置它的方式是告诉我程序完成后运行多长时间。我将如何显示还剩多少时间可以完成或还有多少阵容可以完成?

import pulp
from pulp import *
from pulp.solvers import CPLEX_PY
from pydfs_lineup_optimizer import get_optimizer, Site, Sport,CSVLineupExporter
from pydfs_lineup_optimizer.solvers.pulp_solver import PuLPSolver
import time
start_time = time.time()
class CustomPuLPSolver(PuLPSolver):
    LP_SOLVER = pulp.CPLEX_PY(msg=0)
optimizer = get_optimizer(Site.FANDUEL, Sport.BASEBALL, solver=CustomPuLPSolver)

optimizer.load_players_from_csv("/Users/austi/Desktop/MLB/PLAYERS_LIST.csv")
optimizer.restrict_positions_for_opposing_team(['P'], ['1B','C','2B','3B','SS','OF','UTIL'])
optimizer.set_team_stacking([2,2,2]) #Stacking should change according to slate size...still need to figure that out
optimizer.set_max_repeating_players(4)
optimizer.set_spacing_for_positions(['SS','C','1B','3B','OF','2B'], 4)
lineups = list(optimizer.optimize(n=150))
for lineup in lineups:
    print(lineup)
exporter = CSVLineupExporter(lineups)
exporter.export('MLB_result.csv')
print(round(((time.time() - start_time)/60)), "minutes run time")

标签: pythontiming

解决方案


推荐阅读