Research Article

A Hybrid Programming Framework for Modeling and Solving Constraint Satisfaction and Optimization Problems

Algorithm 1

The basic scenario of the framework operation.
While  new question
   Determining the type of the problem (based of questions)
   Determining the parameters of the question
   Determining the size of the problem (based on facts)
   Initiate basic variables
   Load data about the problem from set of facts
   Basic constraints (load predicates)
   while additional conditions resulting from question
     Initiate additional variables
     Additional constraints (load predicates)
   Starting constraint propagation
   if  transformation of the problem  then
     Transformation
     Starting constraint propagation
   Determining the type of the MP Solver
   Generation of the MP model in the Solver format or MPS
   Start Solver