Why We Chose Matlab

After performing a small, simplified scenario using Excel Solver, we quickly realized that we would need a different type of software to use as we increased the complexity of the problem.

Tradeoffs

The tradeoff when moving to Matlab was an increase in problem-solving capacity at the expense of usability for non-engineers. To account for this, we set out to create a Matlab program that requires limited input from the user. In our program, the user must provide 4 items: the number of passengers (P), drivers (D), locations (T), and an Excel spreadsheet of availabilities. We assumed that the user would still use a more familiar program like Excel to record passenger and driver availabilities.

Matlab Techniques

We utilized several Matlab functionalities to implement our programs. Most importantly, we employed Matlab’s Mixed Integer Linear Programming methods (MILP) and the intlinprog() function. Our program first creates the matrices that are used in the intlinprog() function, which provides an integer solution to the linear program. 

After creating the matrices and solving the linear program, we created the script so that Matlab prints out the solution in an easily understandable format that states which driver each passenger is assigned to. The program also calculates the cost of reimbursing these drivers for their mileage at the IRS rate and compares this to what it would cost the Gephardt Institute to cover the price of a CarShare for these students. A sample of the print out is shown below.