Select Page

High Point University Fantasy Football Integer Programming Python Task

Question Description

Introduction to Fantasy Football

Fantasy football is a game where a group of participants serve as general managers of their own virtual football team. Managers build their roster (team) through a draft process in which they select real NFL players. Each team is completely unique because a player can only be on one manager’s roster. The performance of a team is determined by the number of points generated by its players, and a player’s points are a direct function of their real world performance statistics. As a manager, your goal is to draft the team that generates the most points.

Although there are many different fantasy draft mechanisms, the mechanism we are interested in is an auction draft. An auction draft can be thought of as a set of sequential player auctions where the highest bidding manager wins the player and pays their bid. Each manager is endowed with a budget of 200 to spend in the draft. You have been provided a data set that includes an expected price for each player. You can think of this as the price you must pay to win the player. During the draft you will select a total of 15 players.

In addition to drafting the team, a manager is also responsible for choosing a weekly starting lineup. A starting lineup consists of 1 QB, 3 WR, 2 RB, 1 TE, 1 K, and 1 DEF. Any player not selected to be in your starting lineup is on your bench. Your team generates points from the players you choose to be in your starting lineup. In order to simplify the problem, the optimization will not have to choose a starting lineup for each week. Instead, we will assume that you will start the players with the highest season long points every week and discount a portion of the points generate by your bench players. This means you will receive all points generate by players chosen as starters but only a portion of the points generate by players on your bench. The discount factor to use for bench player is defined in 9 below.

You can download the dataset as a csv file from here:

Project 2 Data : https://1drv.ms/u/s!AiezjuZz42bo7RG9UqN-JoVHGOxx?e…

General Parameters

  • * You have a maximum budget of 200.
  • A roster consists of exactly 15 players.
  • A roster has 1 QB slot, 3 WR slots, 2 RB slots, 1 TE slot, 1 K slot, 1 DEF slot, and 6 Bench slots.
  • Any QB, WR, RB, TE, K, DEF slot can only contain a player of that type.
  • A Bench slot can contain any player type.
  • A player on your roster can only be assigned to one slot.
  • You want at most 2 QB and 2 TE on your roster.
  • You want at most 1 K and 1 DEF on your roster.
  • A player on your bench will only generate a fraction of their projected points. A bench player should generate ½^d of their projected points where d is their depth at their position. For example, if you have RB1, RB2, RB3, and RB4 on your team with projected points P1, P2, P3, and P4 the expected points from these players would be $P1 + P2 + ½ * P2 + ¼ * P3$

Questions to answer

  • Who would you choose to maximize points while staying within budget?
  • How many points is your team expected to generate?
  • How much of your budget did you spend?

All of these questions can be answered by writing an Integer Program in python using Google OR tools. Please submit your solution with the questions answered in the form of a pdf, .py file(s).

"Place your order now for a similar assignment and have exceptional work written by our team of experts, guaranteeing you "A" results."

Order Solution Now