Sample Response to  Discussion Question 3:  Model Subsystem

Our last discussion question was to develop an operational concept for GOAT.  For this discussion question, assume that several rounds of discussion with stakeholders has resulted in agreement on the operational concept referenced here.  Consider Operational Scenario 6, study plan evaluation (also reference supporting Operational Scenario 5, defining goals and constraints).

1.  Among the methods we discussed in class, which would be appropriate for defining this functionality? 

The purpose of the model is to support the user’s decision of: (1) which program of study (major, degree program, certificate, etc.) to follow; (2) which courses to take among those allowed for the program of study; and (3) how to schedule the courses.

We define a course instantiation (CI) as a triple (c, s, t), where c is a course, s is a semester, and t is a time slot. We define a fully specified potential plan (FPP) as a finite-length sequence ((c1, s1, t1), ..., (cn, sn, tn)) of course instantiations, and a partially specified potential plan (PPP) as a set of fully specified potential plans.  Our model will be designed to help the user narrow down an initially very large set of PPPs under consideration to a much smaller set, and eventually to a single FPP that satisfies the user's constraints and best achieves her goals.  

It is useful to think of the problem of choosing a good FPP as a problem in constrained optimization. Constrained optimization methods try to maximize a utility function (or minimize a loss function) subject to constraints on the set of options. Examples of constraints are:
The utility function is a mathematical representation of how well a given option satisfies the user's objectives. Examples of objectives might include:
Many of the methods we discussed were appropriate for solving constrained optimization problems.  The consensus of the class was that several of these methods should be combined.  

2.   Give a description of the inputs and outputs of a function that would perform this functionality. 

The inputs to the function are:
Function outputs are:

3.   How would the function work?  

The student has already selected a plan of study in Scenario 3 and entered goals and constraints in Scenario 5.  An algorithm sketch for step “e” of Scenario 5 follows:
  1. Initialize parameters to guide the rule-based system's choice of linearization for the utility function and constraints.  Set list of FPPs to empty list.
  2. Formulate a linear utility function using the results of Scenario 5, and current linearization parameters.
  3. Specify a set of constraints that implicitly defines the PPPs to be considered.
  4. Solve the LP to obtain an "optimal" FPP.  
  5. Evaluate the feasibility of the result of Step 3 using the correct (not linearized) constraints.  If infeasible, perform a heuristic adjustment using a rule-based system to find a feasible solution.  Evalutate utility of solution using correct (not linearized) utility function.  Add to list of FPPs.  If enough FPPs have been generated, go to Step 7; otherwise go to Step 5.
  6. Decide whether to ask user for additional information to further constrain or inform search.  If yes, go to Scenario 3 to obtain refined information on goals and constraints.
  7. Adjust parameters for rule-based constraint and utility function algorithms.  Return to Step 1.
  8. Perform sensitivity analysis.
Back to SYST 542 homepage