#ORF09 Programming Rules using a spreadsheet interface

This entry is part 21 of 30 in the series October Rules Fest 2009

Dr. Gopal Gupta and Abhilash Tiwari are talking about constraint programming in a spreadsheet interface. He calls constraints rules.

The motivation behind this is that non-experts should be able to program rules and to leverage existing technologies. The scope of the problems is constraints satisfaction problems (CSP).

The type of problem to resolve are usually NP-complete in complexity so they are very hard to solve. As an example, resource allocation is a typical problem they need to resolve.

Spreadsheets (rows and columns of data) allow some programming with macros or formulas. The calculations are applied by replications (a formula in a cell is copied to other cells). In current spreadsheets you can only have arithmetic expressions, so there is a need to extend the functionality to support constraints.

The tool (PlanEx) they developed uses .Net technology as an add-in to Excel. They offer formulas such as Distinct, Frequency, Present_Once, and If-then. You can then ask for the product to solve the problem and get a solution. If you don’t like the solution and there are multiple solutions, you can ask for another solution.

He gave some examples of problems such as preparing the schedule for university courses (courses offered by teachers in classrooms and possibly at specific times, etc.) or simply employee scheduling in a shift based company.

They then gave us a short demo of the tool to solve a sudoku puzzle as well as for the course scheduling problem.

Tags: , ,

Leave a Reply