In a system, utilized in, e.g., scheduling, for satisfying constraints by allowing relaxation of constraints, a constraint relaxation necessity detection section detects necessity of constraint relaxation in a problem solving cycle of a problem solving section. When the necessity of constraint relaxation is detected, a relaxation target constraint selection section is enabled to select a constraint to be relaxed from a constraint group. A constraint relaxation section searches a constraint relaxation knowledge management section in association with the selected constraint to check if a partial solution satisfies a relaxation permission condition. If the relaxation permission condition is satisfied, constraint relaxation is attempted according to a relaxation method recorded in correspondence with the relaxation permission condition. When the constraint relaxation is executed, the constraint relaxation necessity detection section checks if the constraint relaxation is successful, and the control returns to the problem solving cycle of the problem solving section.
展开▼