View on GitHub

CricAlgo

The project is a conceptual map of how algorithms plays a huge role in game of cricket. It uses linear programming, dynamic programming, greedy algorithms and PageRank algorithm to build a strong fantasy team, calculate winning chances, implemented Duck Worth Lewis, helps selectors in team selection and find do an unbiased Man of the Match Selection. It uses python and cpp programing languages

Linear Programming

Linear programming (LP, also called linear optimization) is a method to achieve the best outcome (such as maximum profit or lowest cost) in a mathematical model whose requirements are represented by linear relationships.

Components of Linear Programming

The basic components of the LP are as follows:

Characteristics of Linear Programming

The following are the five characteristics of the linear programming problem:

Constraints – The limitations should be expressed in the mathematical form, regarding the resource.

The constrains in my problem are:

Objective Function – In a problem, the objective function should be specified in a quantitative way.

In my problem we need to maximize the ROI score.

Linearity – The relationship between two or more variables in the function must be linear. It means that the degree of the variable is one.

Finiteness – There should be finite and infinite input and output numbers. In case, if the function has infinite factors, the optimal solution is not feasible.

Non-negativity – The variable value should be positive or zero. It should not be a negative value.

Decision Variables – The decision variable will decide the output. It gives the ultimate solution of the problem. For any problem, the first step is to identify the decision variables.

**In my problem there are 22 decision variables (11 player from team A and 11 player from team B) ** out of these 22, 11 decision variables ahve value 1 and 11 decision variable have value 0. This can also be a constrain.

To see code and results click here