12,679 research outputs found
Decomposition, Reformulation, and Diving in University Course Timetabling
In many real-life optimisation problems, there are multiple interacting
components in a solution. For example, different components might specify
assignments to different kinds of resource. Often, each component is associated
with different sets of soft constraints, and so with different measures of soft
constraint violation. The goal is then to minimise a linear combination of such
measures. This paper studies an approach to such problems, which can be thought
of as multiphase exploitation of multiple objective-/value-restricted
submodels. In this approach, only one computationally difficult component of a
problem and the associated subset of objectives is considered at first. This
produces partial solutions, which define interesting neighbourhoods in the
search space of the complete problem. Often, it is possible to pick the initial
component so that variable aggregation can be performed at the first stage, and
the neighbourhoods to be explored next are guaranteed to contain feasible
solutions. Using integer programming, it is then easy to implement heuristics
producing solutions with bounds on their quality.
Our study is performed on a university course timetabling problem used in the
2007 International Timetabling Competition, also known as the Udine Course
Timetabling Problem. In the proposed heuristic, an objective-restricted
neighbourhood generator produces assignments of periods to events, with
decreasing numbers of violations of two period-related soft constraints. Those
are relaxed into assignments of events to days, which define neighbourhoods
that are easier to search with respect to all four soft constraints. Integer
programming formulations for all subproblems are given and evaluated using ILOG
CPLEX 11. The wider applicability of this approach is analysed and discussed.Comment: 45 pages, 7 figures. Improved typesetting of figures and table
Creating Individualized Self-Scoring Assessments for Agricultural Economics Undergraduates
What is an individualized self-scoring assessment for an agricultural economics major? It is a homework assignment that is unique for each student in the class and provides immediate feedback to the student on the correctness of the work. The principle is to generate unique problems, whether it is as simple as the basic intercept and slope of supply and demand equations for an introductory economics class, the parameters of a production function for a production economics, or the interest rate for agricultural finance. One must be aware in constructing the generator algorithms for problem parameters that any necessary conditions will be satisfied a priori such as downward sloping demand, concavity or convexity for maximization or minimization. These assignments are created in an Excel spreadsheet format. Once the basic template is created, the process for self-scoring immediate feedback is relatively easy. Create a copy of the original uncompleted problem sheet in the same workbook and provide the correct formulae to serve as a key. Create a second copy to serve as a check page and replace the formulae with an IF statement comparing the value or formula in the original to the second. It is best to provide some tolerance in the comparison such as checking that the absolute difference in the original and second sheet is less than some critical value. This is especially true for optimization problems. By hiding the key worksheet and protecting the workbook structure, students can not access the correct formulae. However, if the correct formulae or number is entered in the problem sheet, the student can view the check worksheet to see if the answer is correct. A simple GETFORMULA add-in allows the worksheet to check model setups in optimization problems. The key advantage of this technique to the students is the immediate feedback. Also by generating unique assignments, students can cooperate and learn among themselves without being able to directly copy from their peers. Additionally, graphical representations of their problems can often be provided simultaneously. Lastly, the students find that their spreadsheet skills are greatly enhanced. From the instructor perspective, the assessments are already scored when submitted. Students will seek help prior to turning in the assignment. And there is little need to sacrifice complexity to create problems that work out to neat answers. Empirical evidence of improvement in student evaluations indicates the technique is successful.Teaching/Communication/Extension/Profession,
Sciduction: Combining Induction, Deduction, and Structure for Verification and Synthesis
Even with impressive advances in automated formal methods, certain problems
in system verification and synthesis remain challenging. Examples include the
verification of quantitative properties of software involving constraints on
timing and energy consumption, and the automatic synthesis of systems from
specifications. The major challenges include environment modeling,
incompleteness in specifications, and the complexity of underlying decision
problems.
This position paper proposes sciduction, an approach to tackle these
challenges by integrating inductive inference, deductive reasoning, and
structure hypotheses. Deductive reasoning, which leads from general rules or
concepts to conclusions about specific problem instances, includes techniques
such as logical inference and constraint solving. Inductive inference, which
generalizes from specific instances to yield a concept, includes algorithmic
learning from examples. Structure hypotheses are used to define the class of
artifacts, such as invariants or program fragments, generated during
verification or synthesis. Sciduction constrains inductive and deductive
reasoning using structure hypotheses, and actively combines inductive and
deductive reasoning: for instance, deductive techniques generate examples for
learning, and inductive reasoning is used to guide the deductive engines.
We illustrate this approach with three applications: (i) timing analysis of
software; (ii) synthesis of loop-free programs, and (iii) controller synthesis
for hybrid systems. Some future applications are also discussed
- …