Disciplines
- MLA
- APA
- Master's
- Undergraduate
- High School
- PhD
- Harvard
- Biology
- Art
- Drama
- Movies
- Theatre
- Painting
- Music
- Architecture
- Dance
- Design
- History
- American History
- Asian History
- Literature
- Antique Literature
- American Literature
- Asian Literature
- Classic English Literature
- World Literature
- Creative Writing
- English
- Linguistics
- Law
- Criminal Justice
- Legal Issues
- Ethics
- Philosophy
- Religion
- Theology
- Anthropology
- Archaeology
- Economics
- Tourism
- Political Science
- World Affairs
- Psychology
- Sociology
- African-American Studies
- East European Studies
- Latin-American Studies
- Native-American Studies
- West European Studies
- Family and Consumer Science
- Social Issues
- Women and Gender Studies
- Social Work
- Natural Sciences
- Anatomy
- Zoology
- Ecology
- Chemistry
- Pharmacology
- Earth science
- Geography
- Geology
- Astronomy
- Physics
- Agriculture
- Agricultural Studies
- Computer Science
- Internet
- IT Management
- Web Design
- Mathematics
- Business
- Accounting
- Finance
- Investments
- Logistics
- Trade
- Management
- Marketing
- Engineering and Technology
- Engineering
- Technology
- Aeronautics
- Aviation
- Medicine and Health
- Alternative Medicine
- Healthcare
- Nursing
- Nutrition
- Communications and Media
- Advertising
- Communication Strategies
- Journalism
- Public Relations
- Education
- Educational Theories
- Pedagogy
- Teacher's Career
- Statistics
- Chicago/Turabian
- Nature
- Company Analysis
- Sport
- Paintings
- E-commerce
- Holocaust
- Education Theories
- Fashion
- Shakespeare
- Canadian Studies
- Science
- Food Safety
- Relation of Global Warming and Extreme Weather Condition
Paper Types
- Movie Review
- Essay
- Admission Essay
- Annotated Bibliography
- Application Essay
- Article Critique
- Article Review
- Article Writing
- Assessment
- Book Review
- Business Plan
- Business Proposal
- Capstone Project
- Case Study
- Coursework
- Cover Letter
- Creative Essay
- Dissertation
- Dissertation - Abstract
- Dissertation - Conclusion
- Dissertation - Discussion
- Dissertation - Hypothesis
- Dissertation - Introduction
- Dissertation - Literature
- Dissertation - Methodology
- Dissertation - Results
- GCSE Coursework
- Grant Proposal
- Admission Essay
- Annotated Bibliography
- Application Essay
- Article
- Article Critique
- Article Review
- Article Writing
- Assessment
- Book Review
- Business Plan
- Business Proposal
- Capstone Project
- Case Study
- Coursework
- Cover Letter
- Creative Essay
- Dissertation
- Dissertation - Abstract
- Dissertation - Conclusion
- Dissertation - Discussion
- Dissertation - Hypothesis
- Dissertation - Introduction
- Dissertation - Literature
- Dissertation - Methodology
- Dissertation - Results
- Essay
- GCSE Coursework
- Grant Proposal
- Interview
- Lab Report
- Literature Review
- Marketing Plan
- Math Problem
- Movie Analysis
- Movie Review
- Multiple Choice Quiz
- Online Quiz
- Outline
- Personal Statement
- Poem
- Power Point Presentation
- Power Point Presentation With Speaker Notes
- Questionnaire
- Quiz
- Reaction Paper
- Research Paper
- Research Proposal
- Resume
- Speech
- Statistics problem
- SWOT analysis
- Term Paper
- Thesis Paper
- Accounting
- Advertising
- Aeronautics
- African-American Studies
- Agricultural Studies
- Agriculture
- Alternative Medicine
- American History
- American Literature
- Anatomy
- Anthropology
- Antique Literature
- APA
- Archaeology
- Architecture
- Art
- Asian History
- Asian Literature
- Astronomy
- Aviation
- Biology
- Business
- Canadian Studies
- Chemistry
- Chicago/Turabian
- Classic English Literature
- Communication Strategies
- Communications and Media
- Company Analysis
- Computer Science
- Creative Writing
- Criminal Justice
- Dance
- Design
- Drama
- E-commerce
- Earth science
- East European Studies
- Ecology
- Economics
- Education
- Education Theories
- Educational Theories
- Engineering
- Engineering and Technology
- English
- Ethics
- Family and Consumer Science
- Fashion
- Finance
- Food Safety
- Geography
- Geology
- Harvard
- Healthcare
- High School
- History
- Holocaust
- Internet
- Investments
- IT Management
- Journalism
- Latin-American Studies
- Law
- Legal Issues
- Linguistics
- Literature
- Logistics
- Management
- Marketing
- Master's
- Mathematics
- Medicine and Health
- MLA
- Movies
- Music
- Native-American Studies
- Natural Sciences
- Nature
- Nursing
- Nutrition
- Painting
- Paintings
- Pedagogy
- Pharmacology
- PhD
- Philosophy
- Physics
- Political Science
- Psychology
- Public Relations
- Relation of Global Warming and Extreme Weather Condition
- Religion
- Science
- Shakespeare
- Social Issues
- Social Work
- Sociology
- Sport
- Statistics
- Teacher's Career
- Technology
- Theatre
- Theology
- Tourism
- Trade
- Undergraduate
- Web Design
- West European Studies
- Women and Gender Studies
- World Affairs
- World Literature
- Zoology
Constraint Programming, Research Paper Example
Hire a Writer for Custom Research Paper
Use 10% Off Discount: "custom10" in 1 Click 👇
You are free to use it as an inspiration or a source for your own work.
Abstract
Constraint satisfaction is arguably the most relevant and practical facet of programming in operational research. As a branch of constraint programming, it has received unprecedented application in airline, shipping and freight industries particularly in scheduling and rostering. The formulation and research into algorithms for constraint satisfaction problems solution has received a lot of interest among researchers owing to the robustness of solutions that can be harnessed. Beginning with an introduction on constraint programming, the paper defines and isolates a typical constraint satisfaction problem. It then delves into the topic of constraint satisfaction as a branch of constraint programming, the modes of algorithm formulation to solve constraint satisfaction problems and its applicability in real life scenarios.
Constraint programming is a programming paradigm in which constraints are used to state or define the relationships between variables. Constraint programming uses various types of variables such as variables emergent from the solution of simplex algorithms, variables that satisfy a constraint among others (ETAPS, 2003). By definition, a constraint refers to a relation in logic, of several variables (which are unknown) for which, each assumes a value in a specific domain. It restricts the values that can be assigned to a specific variable, thereby providing partial details on the given variable. The programming process in constraint programming entails building or coming up with requirements, also referred to as constraints, and then by use of constraint solvers, coming up with a solution to the previously specified requirements. Constraint programming is divided into two major branches, Constraint Satisfaction and Constraint Solving (Bartak, 1998).
Figure 1: Relationships between constraints and variables
(Source: http://www.doc.ic.ac.uk/~sgc/teaching/pre2012/v231/lecture15.html)
This paradigm of programming has received widespread applicability especially in the areas of scheduling and planning. In a constraint programming perspective, this can be viewed as constraint satisfaction problems, which is squarely within the constraint satisfaction branch of constraint programming. A typical definition of a constraint satisfaction problem can be expressed as follows; a situation that provides a definite set of variables and values that can be assigned to the variables. In addition, there is a set of constraints, the solution is to find values from the given set to be assigned to the variables and satisfy the constraints (Brailsford, Pott & Smith, 1998).
Problems in constraint satisfaction are combinatorial in nature, and thus existence of an effective algorithm is unlikely. To find a solution to such problems, the algorithms are enumerative, and their time requirement is exponential. The manner by which these algorithms come up with a solution is either, Consistency driven, Backtracking or Generate and Test (Constraint Satisfaction Problems, n.d.). Based on the information available in the constraints, algorithms that are consistency based minimize the solution-search space at the very initial levels. An example is the Arc consistency algorithm which when described in the simplest form means, if all constraints in a problem affect only 2 variables (binary), a constraint graph can be used to represent the constraints and variables. On the graph, the variables are represented by nodes, and on the condition that there is a constraint between two variables, there is an edge joining the two nodes that represent the variables (Brailsford, Pott & Smith, 1998).
In a backtracking algorithm, the variables in the problem are ordered starting with the ones that have a smaller range or are highly constrained. This ordering fashion greatly increases the efficiency of the algorithm. By checking that constraints are satisfied at the earliest possible stage, it assigns values to variables for constraints that involve bound variables at these early stages. This mode employs chronological backtracking (involves unbinding variables inversely to the order they were bound) and dependency directed backtracking (similar to chronological backtracking but identifies and corrects failures resulting from chronological backtracking).
Generate and test algorithms are the simplest but are intolerably slow. They entail generating of all possible combinations of variable assignments and testing them to see if they fulfill the constraints. These algorithms generally make use of nested loops where testing of the constraints condition is done in the innermost loop (Constraint Satisfaction Problems, n.d.).
Scheduling, timetabling, and rostering are practical examples of constraint satisfaction problem solving. In scheduling, an example is where scheduling jobs are to be done by machines given that a machine can only handle a job at a time, and different jobs have different priorities. In timetabling, an example involves creating an exam timetable where different exams have to be done in different periods, by different students, in different rooms of different room sizes and many other constraints around the problem. Crewe rostering is an example application in rail and air transport industries (Brailsford, Pott & Smith, 1998).
References
Bartak, R., (1998). Constraint Programming. On-Line Guide to Constraint Programming. Retrieved from http://ktiml.mff.cuni.cz/~bartak/constraints/
Brailsford, S.C., (1998). Constraint Satisfaction Problems: Algorithms and Applications. University of Southampton. Leeds: UK.
ETAPS, (2003). Foundations of Constraint Programming. Warshaw, Poland. Constraint Satisfaction Problems. n.d. Retrieved from http://www.cis.temple.edu/~giorgio/cis587/readings/constraints.html
Stuck with your Research Paper?
Get in touch with one of our experts for instant help!
Time is precious
don’t waste it!
writing help!
Plagiarism-free
guarantee
Privacy
guarantee
Secure
checkout
Money back
guarantee