Print Job Scheduling Using Answer Set Programming and Historical Data

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Complex job scheduling problems in printing workflows, which involve both quantitative and qualitative aspects, are challenging for traditional programming techniques due to their instability and the need for consistent performance, especially in industrial applications.

Innovation Solution

A method using an Answer Set Programming (ASP) solver with a historical decision database to determine print job schedules, where the database stores successful decision frequencies for scheduling classifications, enabling faster and more consistent performance by guiding the solver through previously successful search branches.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If traditional programming techniques (C, C++, Java) are used to solve complex job scheduling problems in printing workflows, then the system can handle quantitative and qualitative constraints, but the programming becomes complex, difficult to write, debug, and maintain

Engineering Contradiction:
Improveability to handle complex scheduling constraintsVSAvoidprogram complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent replaces traditional imperative programming mechanics (C, C++, Java) with a declarative programming paradigm (Answer Set Programming). Instead of manually coding algorithms to search through scheduling alternatives, the system uses ASP solvers that automatically compute solutions from high-level problem descriptions. This substitution reduces program complexity while maintaining the ability to handle complex quantitative and qualitative scheduling constraints through declarative rule specifications.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Solution Approach 2:

The patent changes the fundamental parameter of programming abstraction from low-level imperative commands to high-level declarative specifications. By using ASP, programmers describe what the solution should satisfy (constraints and objectives) rather than how to compute it step-by-step. This parameter change in abstraction level dramatically reduces complexity for complex scheduling problems while preserving adaptability to various constraints.

Inventive Principle:
Principle #35Parameter changes

2Ease of operation

If ASP solvers are used to solve scheduling problems, then programming abstraction is improved, but performance becomes unstable with inconsistent solving times

Engineering Contradiction:
Improveprogramming abstraction levelVSAvoidsolver performance consistency
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The patent applies preliminary action by performing classification of scheduling problems into distinct categories (e.g., based on problem characteristics, constraints, or difficulty) before solving. The system pre-processes the ASP problem to identify its type, then selects or configures appropriate solving strategies, heuristics, or parameters in advance. This preliminary classification enables the system to optimize solver configuration for each problem type, ensuring consistent and reliable performance while maintaining high programming abstraction.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements feedback mechanisms where the ASP solver's performance is monitored and analyzed. Based on feedback from previous solving attempts and problem characteristics, the system dynamically adjusts solver parameters, selects appropriate solving strategies, or reconfigures the problem representation. This feedback loop ensures that performance remains consistent and reliable across different scheduling problems while preserving the benefits of high-level declarative programming.

Inventive Principle:
Principle #23Feedback

3Loss of time

If high-level declarative languages are used, then solution development time is reduced, but solving performance may be slower compared to optimized low-level programs

Engineering Contradiction:
Improveprogram development timeVSAvoidsolution solving speed
Core Design Contradiction:
Loss of timeVSProductivity

Solution Approach 1:

The patent performs preliminary optimization by classifying ASP problems and pre-configuring solving strategies before execution. The system analyzes problem characteristics in advance and selects optimal solver configurations, heuristics, and search strategies tailored to each problem type. This preliminary action bridges the performance gap between high-level declarative languages and optimized low-level programs, maintaining fast solving speeds while preserving the rapid development benefits of ASP.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent dynamically changes solver parameters based on problem characteristics. Instead of using fixed solver configurations, the system adjusts computational parameters, search strategies, and resource allocation based on the specific scheduling problem being solved. This parameter adaptation enables the ASP solver to achieve solving speeds comparable to optimized low-level programs while maintaining the productivity advantages of high-level declarative programming.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS8576430B2Job schedule generation using historical decision database
Publication Date: 2013.11.05 EASTMAN KODAK CO
  • US8576430B2 patent drawing
  • US8576430B2 patent drawing
  • US8576430B2 patent drawing

AI summary

A method for determining a print job schedule for a printing production facility having a set of availably printing resources, comprising: defining one or more scheduling classifications; receiving one or more print jobs, each print job having a print job description specified by a set of print job attributes; determining one or more scheduling classification corresponding to the received print jobs; using a processor to automatically determine the print job schedule for the received print jobs using an answer set programming language solver responsive to the print job descriptions, a set of resource descriptions, a set of scheduling rules, and a historical decision database.