Page Layout Constraint Solving via Resource Allocation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current desktop publishing is hindered by the lack of sophisticated automatic document layout systems, relying on description languages or manually designed templates, which are ill-suited for expressing layout problems with weak semantics and shift the burden from users to template designers.
Innovation Solution
A method using graphical objects and geometric shapes to enter page layout constraints, allowing users to directly manipulate constraints through a graphical user interface, eliminating the need for description languages and manually created templates by detecting collisions between gridlines and spans to deduce constraints, and employing a resource allocation algorithm to solve over-constrained layout problems.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If description languages such as HTML and LATEX are used to express layout constraints, then the layout problems can be formally specified, but the system becomes ill-suited for expressing layout problems with weak semantics and shifts the burden to template designers
Solution Approach 1:
The patent introduces a graphical user interface with visual drag-and-drop operations as an intermediary between the user and the constraint solving system. Users manipulate graphical objects visually rather than writing description languages, while the system automatically deduces constraints from the visual arrangement, eliminating the need for users to learn formal languages or work with templates
Solution Approach 2:
The system automatically deduces layout constraints from the visual placement of graphical objects by users. The constraint deduction is performed automatically by analyzing the spatial relationships and gridline collisions in the visual interface, without requiring users to manually specify constraints or choose from predefined templates
2Manufacturing precision
If manual layout templates are designed to solve layout problems, then the layout quality can be improved, but the burden shifts from end users to template designers
Solution Approach 1:
The system eliminates the need for pre-designed templates by enabling users to create layouts directly through visual manipulation. The constraint solving system automatically generates appropriate constraints from the visual arrangement, allowing users to serve themselves without relying on template designers or predefined templates
3Measurement precision
If too many constraints are applied to the layout, then the layout precision may improve, but the problem becomes over-constrained and impossible to solve
Solution Approach 1:
The system allows users to apply constraints freely through visual manipulation without worrying about over-constraining the system. The constraint solver automatically handles the resolution of conflicting constraints by finding optimal compromises, enabling users to perform partial or excessive constraint application without compromising solvability
Solution Approach 2:
The system dynamically adjusts constraint parameters during the solving process to maintain solvability. When constraints conflict, the solver modifies parameter values to find a feasible solution that satisfies all constraints as closely as possible, ensuring the system remains solvable even with many constraints
4Ease of operation
If a direct manipulation graphical interface is provided, then user ease of operation improves, but the complexity of the constraint system must be hidden
Solution Approach 1:
The graphical user interface acts as an intermediary that simplifies user interaction while the constraint deduction engine handles the complexity in the background. Users interact with simple visual elements and drag-and-drop operations, while the system automatically performs complex constraint analysis and resolution without exposing the complexity to users
Data Source
AI summary
The invention provides for a method of solving a set of page layout constraints by a computer comprising the steps receiving a set of page layout constraints. The method further comprises the step of dividing the set of page layout constraints into a groups dependent upon the type of constraint. Each of the set of page layout constraints is a member of only one of the groups. The method further comprises the step of transforming each constraint of each of the groups into a resource constraint. The method further comprises the step of assigning a priority to each of the groups. The method further comprises the step of solving each of the groups in the order of the priority using a resource allocation algorithm. All members of a group chosen from the groups are solved simultaneously.


