这是对cbc优化器使用贪婪启发式的正确方法吗?我浏览了该网站,但他们没有提供任何示例。
from pydfs_lineup_optimizer import Site, Sport, get_optimizer,CSVLineupExporter
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
class CustomPuLPSolver(PuLPSolver):
LP_SOLVER = PULP_CBC_CMD(threads=8, options=['greedyheuristic'])
optimizer = get_optimizer(Site.FANDUEL, Sport.BASEBALL)
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_spacing_for_positions(['SS','C','1B','3B','OF','2B'], 4)
optimizer.set_team_stacking([4,3])
optimizer.set_max_repeating_players(3)
lineups = list(optimizer.optimize(n=150))
for lineup in lineups:
print(lineup)
exporter = CSVLineupExporter(lineups)
exporter.export('result.csv')