12,679 research outputs found

    Decomposition, Reformulation, and Diving in University Course Timetabling

    Full text link
    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

    Get PDF
    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

    Full text link
    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
    • …
    corecore