Processing method and device based on ontology model, equipment, medium and product

CN119678169APending Publication Date: 2025-03-21SIEMENS AG
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202280099003.8
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2022-08-31
Publication Date
2025-03-21

AI Technical Summary

Technical Problem

When designing complex production scheduling plans, existing production scheduling tools require developers to have an in-depth understanding of the production field, which increases development difficulty, has limited application areas, and cannot effectively meet the needs of the modern manufacturing industry.

Method used

Using a processing method based on the ontology model, by creating production domain instance objects and obtaining constraints related to production scheduling, using object-oriented data structures to describe production domain knowledge, providing a unified interface, reducing the difficulty for developers to understand production domain knowledge, and Ensure the accuracy and reliability of scheduling results by applying constraints step by step.

Benefits of technology

It reduces the difficulty of developing production scheduling tools, expands the scope of application, improves the execution efficiency and accuracy of production scheduling, and is suitable for a wide range of production fields and industrial enterprises.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119678169A_ABST
    Figure CN119678169A_ABST
Patent Text Reader

Abstract

The embodiment of the invention relates to a processing method and device based on an ontology model, equipment, a medium and a product. The method includes creating an associated plurality of production domain instance objects related to production scheduling based on an ontology model, the plurality of production domain instance objects each having an attribute. The method further includes obtaining a first class of constraints and a second class of constraints based on attributes of the plurality of production field instance objects. Wherein the first class of constraints comprise preparation rules for production scheduling, and the second class of constraints comprise restriction rules for production scheduling. The method further includes updating the plurality of production domain instance objects by applying the first class of constraints. The method further comprises the step of executing production scheduling on the updated production field instance object by applying a second type of constraints to obtain a scheduling result. According to the embodiment of the invention, modeling and constraint of production scheduling can be easily realized, the development difficulty of a production scheduling tool is reduced, and the method has a wide application range.
Need to check novelty before this filing date? Find Prior Art

Description

Processing methods, devices, equipment, media and products based on ontology models Technical Field

[0001] Embodiments of the present disclosure generally relate to the field of computers, and more particularly to a processing method, apparatus, device, medium, and product based on an ontology model. Background Art

[0002] Developing production scheduling plans is crucial for companies to improve their manufacturing capabilities. In modern manufacturing, long product routes and numerous material, process, and equipment substitutions pose significant challenges. Therefore, designing a production scheduling plan that both meets complex requirements and enhances manufacturing capabilities has become a pressing challenge for companies.

[0003] Some production scheduling tools have been developed using constraint-based solvers to automate production scheduling. However, these tools require developers to have a deep understanding of the relevant production domain, which increases their development difficulty and limits their application areas.

[0004] Summary of the Invention

[0005] In view of this, embodiments of the present disclosure provide a processing method, apparatus, device, medium, and product based on an ontology model.

[0006] In a first aspect according to the present disclosure, a processing method based on an ontology model is provided. The method includes creating a plurality of production domain instance objects associated with production scheduling based on the ontology model, and each of the plurality of production domain instance objects has attributes. The method also includes obtaining first-class constraints and second-class constraints based on the attributes of the plurality of production domain instance objects. The first-class constraints include preparation rules for production scheduling, and the second-class constraints include restriction rules for production scheduling. The method also includes updating the plurality of production domain instance objects by applying the first-class constraints. The method also includes performing production scheduling on the updated production domain instance objects by applying the second-class constraints to obtain a scheduling result.

[0007] Based on this approach, the embodiments of the present disclosure create production domain instance objects related to production scheduling based on the ontology model, and obtain and implement constraints based on the ontology model. The ontology model provides abstract objects (also called domain ontology classes) about production scheduling, which can be defined in accordance with industrial standards (e.g., IEC-62264) and are applicable to a wide range of production fields and applications in various enterprises. For example, the domain ontology classes defined by the ontology model can be converted into program classes for specific production fields with the help of translation tools, thereby generating instance objects based on instance data. On this basis, rule languages ​​are also used to define abstract constraints. With the help of inference engine tools such as those used to implement reasoning processes, abstract constraints can be applied to instance data, thereby reducing the effort spent by software developers to write and implement constraints for specific production fields. In other words, the ontology model and constraints together constitute domain knowledge, establishing a connection between the specific production field and the software engineering field. Therefore, the embodiments of the present disclosure can reduce the difficulty and requirements of software developers in understanding the knowledge of the production field, reduce the difficulty of developing production scheduling tools, and have a wide range of applications. In addition, the embodiments of the present disclosure also ensure the accuracy and reliability of instance objects participating in production scheduling by applying constraints step by step, thereby improving the execution efficiency of production scheduling.

[0008] In some embodiments of the first aspect, an ontology model defines multiple domain ontology classes related to production scheduling, attributes of each domain ontology class, and relationships between the multiple domain ontology classes. In this way, domain ontology classes related to production scheduling can be conveniently and flexibly designed and applied to specific production domains. In some embodiments, the ontology model can be defined in accordance with industry standards and is applicable to a wide range of production domains and industrial enterprises.

[0009] In some embodiments of the first aspect, creating multiple production domain instance objects may include: obtaining order information and resource information for a product; and creating the multiple production domain instance objects by instantiating multiple domain ontology classes of an ontology model based on the order information and resource information. In this way, a unified interface is provided, and production scheduling is applied to a specific production domain using the ontology model as an instantiation template.

[0010] In some embodiments of the first aspect, creating multiple production domain instance objects may include: determining at least one process step of a product in order information based on domain knowledge; and creating a task object associated with each of the at least one process step and a resource object for processing the task object. In this way, it is possible to utilize easily accessible domain knowledge (such as standard operating procedures "SOPs") to decompose the production process of a product into task objects that can be scheduled and resource objects for processing tasks. In addition, because the task objects and resource objects are domain objects obtained based on the ontology model and are associated with the process steps, developers can more easily design desired constraints related to the process steps to perform production scheduling.

[0011] In some embodiments of the first aspect, performing production scheduling may include allocating resource objects and time to task objects, so that the resource objects can process the task objects at the time. In this way, production scheduling is achieved in time and constraints are satisfied.

[0012] In some embodiments of the first aspect, creating multiple domain objects may further include: creating a work request object associated with an order list (hereinafter referred to as an order), the work request object being associated with a task object for a product in the order list; creating a process step object associated with a task object for the product; creating a process route object associated with at least one process step object for the product; and creating a material object associated with the process step object. In this way, specific domain objects applicable to a wide range of production domains are provided, and developers can more easily design desired constraints based on these domain objects to implement production scheduling.

[0013] In some embodiments of the first aspect, obtaining the first-class constraint may include obtaining the first-class constraint based on at least one of an arrival time attribute and a physical restriction attribute of a material object and an alternative resource attribute of a task object. In this manner, available task objects and resource objects can be determined, preventing invalid task objects from participating in production scheduling and expanding available resource objects, thereby improving the execution efficiency of production scheduling.

[0014] In some embodiments of the first aspect, updating multiple production domain instance objects may include: deleting task objects that do not conform to the arrival time attribute of the material object and resource objects that do not conform to the physical constraint attribute of the material object; and adding resource objects based on the replaceable resource attributes of the task objects. In this way, available task objects and resource objects can be determined, invalid task objects are prevented from participating in production scheduling, and available resource objects are expanded, thereby improving the execution efficiency of production scheduling.

[0015] In some embodiments of the first aspect, obtaining the second-type constraint may include obtaining the second-type constraint based on at least one of a sequence attribute of a process step object, a time availability attribute of a resource object, and a capacity attribute of a resource object. In this manner, hard constraints that must be met by production scheduling are provided. These constraints ensure that the execution results of production scheduling are at least feasible. Production scheduling results that do not meet these hard constraints are excluded, thereby improving the stability and reliability of the production scheduling results.

[0016] In some embodiments of the first aspect, the method may further include obtaining a third type of constraints, the third type of constraints comprising optimization rules for production scheduling; and optimizing the scheduling result based on the third type of constraints to obtain an optimized scheduling result. In this way, further optimization objectives are provided on the feasible production scheduling result to obtain a better production scheduling result. By applying hierarchical constraints, greater flexibility is provided.

[0017] In some embodiments of the first aspect, obtaining the third type of constraint may include: determining, based on the scheduling result, a total production schedule time and a total waiting time of the task objects; and obtaining the third type of constraint based on at least one of the total time and the total waiting time. In this manner, a time optimization objective is provided to obtain a production schedule result with lower time cost.

[0018] In some embodiments of the first aspect, optimizing the scheduling result may include: obtaining an optimized scheduling result from the scheduling result by minimizing at least one of the total time and the total waiting time. In this way, a production scheduling result with lower time cost can be obtained.

[0019] In the second aspect of the present disclosure, a processing device based on an ontology model is provided. The processing device includes: an instance object creation module, configured to create multiple production domain instance objects associated with production scheduling based on the ontology model, and each of the multiple production domain instance objects has attributes; a constraint acquisition module, configured to obtain first-class constraints and second-class constraints based on the attributes of multiple production domain instance objects, the first-class constraints include preparation rules for production scheduling, and the second-class constraints include restriction rules for production scheduling; an instance object update module, configured to update multiple production domain instance objects by applying the first-class constraints; and a production scheduling execution module, configured to execute production scheduling on the updated production domain instance objects by applying the second-class constraints to obtain a scheduling result. Instance object creation module Constraint acquisition module Instance object update module Production scheduling execution module

[0020] In a third aspect of the present disclosure, an electronic device is provided. The electronic device includes: one or more processors; and a memory for storing computer-executable instructions, wherein the computer-executable instructions, when executed by the one or more processors, enable the electronic device to implement any of the methods described in the first aspect above.

[0021] In a fourth aspect of the present disclosure, a computer-readable medium is provided, on which computer-executable instructions are stored. When the computer-executable instructions are executed, at least one processor is caused to perform the method according to any one of the above first aspects.

[0022] In a fifth aspect of the present disclosure, a computer program product is provided, comprising computer-executable instructions, which, when executed, cause at least one processor to perform the method according to any one of the above first aspects.

[0023] This summary is provided to introduce a selection of concepts in a simplified form that are further described in the detailed description below. This summary is not intended to identify key features or essential features of the disclosure, nor is it intended to limit the scope of the disclosure. BRIEF DESCRIPTION OF THE DRAWINGS

[0024] The above-mentioned characteristics, technical features, advantages and implementation methods of the present disclosure will be further described below in a clear and understandable manner through the description of preferred embodiments in conjunction with the accompanying drawings, wherein:

[0025] FIG1 illustrates a schematic diagram of an example environment in which various embodiments of the present disclosure can be implemented;

[0026] FIG2 shows an exemplary flow chart of a processing method based on an ontology model according to an embodiment of the present disclosure;

[0027] FIG3 shows a schematic diagram of a production domain instance object based on an ontology model according to an embodiment of the present disclosure;

[0028] FIG4 shows a schematic diagram of an exemplary production scheduling result according to an embodiment of the present disclosure;

[0029] FIG5 is a schematic diagram showing a process of implementing production scheduling by applying constraints according to an embodiment of the present disclosure; and

[0030] FIG6 shows a block diagram of an example device that may be used to implement embodiments of the present disclosure.

[0031] List of reference numerals:

[0032] 101: Order Information

[0033] 102: Resource Information

[0034] 103: Domain Knowledge

[0035] 104: Scheduler

[0036] 105: Production scheduling results

[0037] 310: Order object

[0038] 311: Order attributes

[0039] 320: Product Object

[0040] 321: Product attributes

[0041] 330: Process route object

[0042] 331: Process route attributes

[0043] 340: Material object

[0044] 341: Material attributes

[0045] 350: Process step object

[0046] 351: Process step attributes

[0047] 360: Work Request Object

[0048] 361: Work Request Attributes

[0049] 370: Production Scheduling Object

[0050] 371: Production Scheduling Attributes

[0051] 380: Task Object

[0052] 381: Task attributes

[0053] 390: Resource Object

[0054] 311: Resource attributes

[0055] 3100: Work calendar object

[0056] 3101: Work calendar properties

[0057] 3110: Scheduling Object

[0058] 3111: Scheduling attributes

[0059] 460: Work Request

[0060] 480: Mission

[0061] 490: Resources

[0062] 501: First Class Constraint

[0063] 502: Second type of constraint

[0064] 503: Third Class Constraint

[0065] 510: Phase 1

[0066] 511: Production domain instance object

[0067] 521: Production domain instance object

[0068] 520: Phase 2

[0069] 522: Constraint Scoring Module

[0070] 523: Scoring module for control restriction rules

[0071] 524: Scoring module for controlling optimization rules

[0072] 525: Solver

[0073] 601: CPU

[0074] 602: ROM

[0075] 603: RAM

[0076] 604: Bus

[0077] 605: I / O interface

[0078] 606: Input unit

[0079] 607: Output unit

[0080] 608: Storage unit

[0081] 609: Communication unit DETAILED DESCRIPTION

[0082] The principles of the present disclosure will be described below with reference to several exemplary embodiments shown in the accompanying drawings. Although preferred embodiments of the present disclosure are shown in the accompanying drawings, it should be understood that these embodiments are described only to enable those skilled in the art to better understand and implement the present disclosure, and are not intended to limit the scope of the present disclosure in any way.

[0083] As used herein, the term "including" and its variations mean open inclusion, i.e., "including but not limited to." Unless otherwise stated, the term "or" means "and / or." The term "based on" means "based, at least in part, on." The terms "one example embodiment" and "an embodiment" mean "at least one example embodiment." The term "another embodiment" means "at least one additional embodiment." Other explicit and implicit definitions may be included below.

[0084] Production scheduling (also known as production scheduling) is a crucial component of intelligent and lean manufacturing in factories. Production scheduling requires considering the production schedule, including plans, resources, personnel, and materials, to improve production efficiency and reduce costs. Modern manufacturing, characterized by long process paths and numerous substitution relationships among materials, processes, and equipment, makes traditional manual solutions inadequate. Some existing tools model production scheduling as a constraint satisfaction problem (CSP) and utilize solvers to determine scheduling solutions. However, these tools require software developers to have a deep understanding of the relevant production domain to model the product production process and to formulate complex constraints for the solver. This requires significant developer effort, and the resulting scheduling tools are often tightly bound to specific domains, resulting in poor scalability.

[0085] The inventors of this application have noted that ontology models can be used to establish connections between the production domain and software development, reducing the difficulty of developing scheduling tools. Embodiments of the present disclosure provide a method for modeling production domain objects based on an ontology model and utilizing constraints to execute ontology-based processing. The ontology model utilizes an object-oriented data structure to describe domain knowledge within the production domain, providing a description of objects within the production domain (e.g., orders, products, tasks, resources, materials, process steps, process routes, etc.), their attributes, and the relationships between them. The ontology-based processing method according to an embodiment of the present disclosure includes creating associated production domain instance objects related to production scheduling (e.g., instantiated tasks to be processed, resources for processing tasks, materials, etc.), each of which has its own attributes. The method also includes obtaining constraints based on the attributes of the production domain instance objects. Constraints can be defined and expressed using a rule-based language, such as Semantic Web Rule Language (SWRL), and used together with the ontology model as domain knowledge. Constraints include first-class constraints and second-class constraints. The first-class constraints include preparatory rules for production scheduling. By applying the first-class constraints, objects involved in production scheduling are determined. After applying the first type of constraints, the second type of constraints are applied to solve the production schedule, thereby obtaining at least a feasible scheduling result. The second type of constraints include restriction rules for production scheduling. Scheduling results that do not meet the second type of constraints are considered infeasible or incorrect. Thus, the constraints are applied step by step, ensuring the accuracy and reliability of the objects involved in production scheduling and improving the execution efficiency of production scheduling. The following describes some example embodiments of the present disclosure with reference to Figures 1 to 6.

[0086] FIG1 illustrates a schematic diagram of an example environment 100 in which various embodiments of the present disclosure can be implemented. Example environment 100 can be implemented on a computing device with computing capabilities, such as a desktop computer, laptop computer, tablet computer, mobile device, server, or cluster, or in a cloud computing environment. In environment 100, order information 101 (also referred to as ordering information), resource information 102, and domain knowledge 103 are provided to a scheduler 104. Scheduler 140 generates production scheduling results 105.

[0087] Order information 101 includes information received by a production area (e.g., a factory or workshop) about products to be produced. Order information 101 includes one or more orders. An order may include one or more products, such as the product name, specifications, quantity, order release time, delivery date, order source, and other information. Resource information 102 specifies the equipment or people in the production area that can perform operations to produce products (e.g., a certain process step of a product). Resources require time to perform operations and therefore have time constraints. Resource information 102 may include the capabilities of the resources, including but not limited to the skills or functions they possess, the size of their task processing capabilities (e.g., workpiece size, the number of workpieces processed simultaneously, etc.). Resource information 102 may also include time availability information of the resources, such as startup time, shutdown time, task processing time, task switching time, shift information (e.g., morning shift, evening shift), work calendar (e.g., weekdays, weekends), etc.

[0088] Domain knowledge 103 refers to knowledge in the production domain and may include an ontology model. The ontology model may be designed according to industry standards (e.g., IEC-62264). When developing production scheduling tools for a specific production domain, a translation tool may be used to convert the ontology model into corresponding program classes describing the production domain, which serve as knowledge for the specific production domain. Domain knowledge 103 may also include constraints defined using a rule-based language. Domain knowledge 103 may also include standard operating procedures (SOPs). Domain knowledge 103 may include, but is not limited to, product process routes, process steps within the process routes, required input and / or output materials for the process steps, and resource requirements for the process steps. Domain knowledge 103 may also include production conditions in the current production area, such as material quantities. For example, an inference engine tool may utilize domain knowledge 103 to convert order information 101 and resource information 102 into instance data that can be processed by the scheduler 104. Furthermore, the inference engine may apply defined constraints to instance data created based on the ontology model, thereby implementing rule execution.

[0089] The scheduler 104 performs production scheduling based on the order information 101, resource information 102, and domain knowledge 103. The scheduler 104 can generate instance data based on the domain knowledge 103. For example, the scheduler 103 can decompose the production process of the product in the order information 101 into a series of process steps. Each process step corresponds to a task in the product production process. The scheduler 104 assigns the process steps to resources (e.g., equipment or people) for processing tasks based on constraints, and the resources process them within a specified time. The scheduler 104 outputs a production scheduling result 105. The production scheduling result 105 can be represented as a collection of scheduling results for the products in the order. For the products in the order, the production scheduling result 105 includes the tasks for each process step of the product, the corresponding resources for processing the tasks, and the time (e.g., start time, end time, duration, etc.).

[0090] An exemplary environment in which embodiments of the present disclosure can be implemented has been described above with reference to FIG1 . It should be understood that FIG1 is merely illustrative, and that the environment may include more modules or components, or some modules or components may be omitted, or the modules or components shown may be recombined. Embodiments of the present disclosure may be implemented in environments different from that shown in FIG1 , and the present disclosure is not limited thereto.

[0091] FIG2 shows an exemplary flow chart of a processing method 200 based on an ontology model according to an embodiment of the present disclosure. Process 200 can be implemented, for example, by the scheduler 104 shown in FIG1 . It should be understood that method 200 may also include additional actions not shown and / or may omit the actions shown, and the scope of the present disclosure is not limited in this respect. For ease of explanation, method 200 will be described with reference to FIG3 , which shows a schematic diagram of a production domain instance object 300 based on an ontology model according to an embodiment of the present disclosure.

[0092] In box 210, the scheduler creates multiple production domain instance objects associated with production scheduling based on the ontology model. In some embodiments, the scheduler 104 can create instance objects related to specific production domains based on order information, resource information and domain knowledge with reference to the ontology model. As described above, the ontology model provides a description of objects, the order of objects, and the relationships between objects. The ontology model of the embodiment of the present disclosure defines multiple domain ontology classes related to production scheduling, and defines the properties of each of these domain ontology classes, as well as the relationships between them. For example, based on object-oriented programming, the properties, methods or functions of each domain ontology class are defined, thereby defining the associations between them. The ontology model can be flexibly customized by developers to adapt to the needs of different production domains. It should be understood that the ontology model defines an abstract domain ontology, and for specific production domains, the domain ontology class can be concretized into a program class of a programming language (e.g., a code generation tool), and then instantiated into an instance object based on instance data so that it can be used by the scheduler to implement production scheduling.

[0093] In some embodiments, scheduler 104 can obtain order information and resource information for a product and, based on the order information and resource information, create multiple production domain instance objects using abstract classes converted from multiple domain ontology classes in the ontology model. In other words, software engineering modeling for a specific production domain is implemented based on the ontology model. The created production domain instance objects may include at least a portion of production domain instance object 300 shown in FIG3 .

[0094] Referring to Figure 3 , a production domain instance object 300 includes an order object 310. Order object 310 includes corresponding order attributes 311, such as product name, product quantity, order release time, and delivery date. Using the product name in order attributes 311 or methods or functions of order object 310, a product object 320 associated with order object 310 can be retrieved. Product object 320 has product attributes 321. Product attributes 321 may include product name and product bill of materials (BOM). Using the product name or methods or functions of product object 320, a process routing object 330 and material object 340 associated with product object 320 can be retrieved.

[0095] Material object 340 has material object attributes 341. Material object attributes 341 may include material name, quantity, specifications or dimensions, arrival time, etc. Process route object 330 has process route attributes 331. Process route attributes 331 may include the process route name. As shown in the figure, process route object 330 may be composed of a series of process step objects 350. Process step objects 350 have process step attributes 351. Process step attributes 351 may include the process step name, previous process step, next process step, etc. Method functions of process step object 350 can be used to obtain material objects 340 associated with process step object 350, including input material objects and output material objects.

[0096] The production domain instance object 300 also includes a work request object 360 and a production schedule object 370. The work request object 360 is associated with the order object 310 and indicates the production schedule information for the products in the order. The production schedule object 370 represents the scheduling results output by the scheduler and includes the work request objects 360 for all order objects. The production schedule object 370 is associated with the order object 310. The production schedule object attributes 371 may include the start time and end time of the production schedule, which reflect the total time of the production schedule. The work request object attributes 361 may include the order ID of the associated order object, the ID of the associated production schedule object, the order release time, the critical path duration, the start time, the end time, and the like.

[0097] The work request object 360 can be composed of task objects 380. Task objects 380 are associated with process step objects 350. Task attributes 361 of task objects 360 may include the associated work request, the previous and next tasks that match the process route, the start time, the end time, the waiting time, etc. The production domain instance object 300 also includes resource objects 390. Through production scheduling, resource objects 390 can be assigned to task objects 380. As shown in the figure, process step objects 340 are associated with resource objects 390. For example, using the properties or method functions of process step objects 340, resource objects 390 capable of implementing the process step objects 340 can be obtained. Resource attributes 391 of resource objects 390 may include resource capabilities, resource startup time, resource task switching time, and processing time. Time-related attributes of resource objects 390 can vary depending on the task objects 380.

[0098] In order to generate task objects 380 and resource objects 390, the scheduler 104 can determine at least one process step of the product in the order information based on domain knowledge, and then refer to the domain objects defined by the ontology model to create a task object 380 associated with each process step and a resource object 390 for processing the task object 380.

[0099] Resource object 390 may also have corresponding work calendar object 3100 and schedule object 3110. Work calendar object 3100 and schedule object 3110 reflect the time availability of resource object. Work calendar attribute 3111 may include working days and rest days. Schedule attribute 3111 may indicate the working time within a day, including start time and end time.

[0100] It should be understood that the production domain instance object 300 based on the ontology model shown in Figure 3 is only exemplary. The production domain instance object of the embodiment of the present disclosure may include more or fewer instance objects, and the attributes of these instance objects and the relationships between instance objects are not limited to the methods described above.

[0101] Referring back to Figure 2, in block 220, the scheduler obtains first and second constraints based on the attributes of multiple production domain instance objects. In an embodiment of the present disclosure, the production scheduling problem is converted into a constraint satisfaction problem. Abstract constraints can be constructed as domain knowledge based solely on the attributes of the domain ontology classes defined by the ontology model. In some embodiments, constraints can be expressed using a rule-based language such as SWRL. Table 1 below shows exemplary constraints, which are classified according to resources, materials, process steps, and orders. It should be understood that the constraints for production scheduling are not limited to those shown in Table 1.

[0102]

[0103]

[0104] Table 1

[0105] Constraints can be divided into multiple categories based on specific implementation goals. The first category of constraints includes preparatory rules for production scheduling. The second category of constraints includes restriction rules for production scheduling. In some embodiments, constraints can also include a third category of constraints. The third category of constraints includes optimization rules for production scheduling. Constraints can be converted into a programming language and applied to instance objects by an inference engine or solver.

[0106] As shown in Figure 2, at block 230, the scheduler 104 updates multiple production domain instance objects by applying first-class constraints. These first-class constraints are applied before executing production scheduling (e.g., using an inference engine) to filter out production domain instance objects that do not meet requirements, such as task objects or order objects, or to add more resource objects. In some embodiments, the first-class constraints include constraints on the arrival time attributes of material objects. This is because task objects can only be added to the solver when the materials required for production are readily available. Therefore, tasks and orders that do not meet the arrival time attributes of material objects are excluded. The first-class constraints may also include constraints on the physical constraints of material objects. The physical constraints of materials (e.g., size) may place additional requirements on resources. Therefore, some resources may not be able to support the materials. Therefore, resource objects that do not meet the physical constraints of material objects may be excluded. The first-class constraints may also include constraints on the attributes of alternative resources for task objects. For each task object, there may be more than one resource object that can perform the corresponding process step. These resource objects may have different processing times or quality levels. To search for more feasible production schedules or optimize production schedules, corresponding resource objects may be added to the scheduler. The application of the first type of constraints avoids invalid task objects and resource objects from participating in production scheduling, and can also increase available resource objects, thereby improving the execution efficiency of production scheduling.

[0107] In block 240, the scheduler 104 applies the second type of constraints to the updated production domain instance object to perform production scheduling to obtain a scheduling result. The second type of constraints include restriction rules for production scheduling. The second type of constraints can be used by the solver. In some embodiments, the second type of constraints can include the order of process steps. The order of task objects in the work request object should satisfy the product manufacturing process defined by the domain knowledge. When allocating time for task objects (including start time and end time attributes), if this rule is violated, the penalty score of the corresponding solution may be increased. The second type of constraints can also include constraints on the resource capacity attribute of the resource object. For a resource with a resource capacity of 1, only one task object can be processed at a time. Therefore, the times of the task objects associated with the resource object cannot overlap. Otherwise, the penalty score of the corresponding solution may be increased. The second type of constraints can also include constraints on the time availability attribute of the resource object. For resources with downtime (for example, determined by the work calendar object and the shift schedule object), task objects should not be assigned to resource objects for processing during downtime. Otherwise, the penalty score of the corresponding solution may be increased. The application of the second type of constraints provides hard constraints that production scheduling needs to meet. These constraints make the execution results of production scheduling at least feasible, and production scheduling results that do not meet these hard constraints will be excluded.

[0108] By applying the first and second constraints above, a feasible scheduling result for production scheduling can be obtained. This at least ensures that an effective production scheduling result can be generated. In some embodiments, in order to further optimize the production scheduling result, a third type of constraint can also be obtained. The third type of constraint includes optimization rules for production scheduling. The third type of constraint can be implemented based on the feasible scheduling result, and its optimization target can include the total waiting time of the task object of the product. It should be understood that the manufacturing process of each product should be completed within a time, for example, the sum of the processing time of all work steps. The difference between the scheduling time of the work request associated with the product (for example, determined based on the start time and end time attributes of the work request) and the manufacturing time of the product can be determined as the total waiting time of the product. For example, for each work request, the scheduler can calculate the total task execution time and determine the difference between the critical path duration of the work request and the calculated total task execution time as the total waiting time of the task object. The smaller the total waiting time, the better the production scheduling result. The scheduler can optimize the scheduling result by minimizing the total waiting time.

[0109] A third type of constraint can also include the total make-span of the production schedule. For all task objects in all work requests, the make-span is the time from the first to the last task in the production schedule. The smaller the make-span, the better the production schedule. The scheduler can optimize the schedule by minimizing the make-span. In this way, the third type of constraint provides a time-based optimization objective, resulting in a production schedule with lower time costs.

[0110] The above describes the ontology-based processing method according to an embodiment of the present disclosure. Compared to existing solutions, the present embodiment, by leveraging ontology models and constraints as domain knowledge, reduces the difficulty and requirements for developers to understand the production domain knowledge, thus having a wide range of applications. Furthermore, by applying constraints step by step, the present embodiment ensures the accuracy and reliability of instance objects involved in production scheduling, thereby improving the execution efficiency of production scheduling.

[0111] FIG4 shows a schematic diagram of an exemplary production scheduling result 400 according to an embodiment of the present disclosure, wherein the horizontal direction from left to right represents the passage of time, and the blocks represent assigned task objects. The same fill pattern represents task objects belonging to the same work request, corresponding to the process steps decomposed from the manufacturing process of a product.

[0112] In Figure 4, resource 490 is assigned task 480. The intervals with squares indicate that resource 490 is processing the task at the corresponding time, and the intervals without squares indicate that resource 490 is idle. For work request 460, the product task is assigned to multiple resources for processing. As shown in the figure, some tasks can be processed in parallel, that is, they can be processed by different resources in overlapping time with other tasks. Other tasks cannot be processed in parallel with any other tasks. For example, depending on the process route, they may rely on all previous process steps to be completed before they can be processed (for example, product packaging or packaging).

[0113] FIG5 illustrates a schematic diagram of a process 500 for implementing production scheduling by applying constraints according to an embodiment of the present disclosure. In FIG5 , process 500 is divided into a first stage 510 for preprocessing and a second stage for solving the production schedule, wherein constraints are applied step by step. Process 500 can be implemented, for example, in scheduler 104 shown in FIG1 .

[0114] In the first stage 510, a reasoning engine applies first-class constraints 501 to production domain instance objects 511 instantiated based on the ontology model. Production domain instance objects 511 may include any one or more of objects 310-3110 described with reference to FIG3 . By applying first-class constraints 501, invalid orders and tasks that do not meet production scheduling conditions are eliminated from production domain instance objects 511, and more resources suitable for valid orders and tasks are found.

[0115] In the second stage 520, the solver 525 uses the constraint scoring module 522 to generate a production scheduling result based on the processed production domain instance object 521. First, the second type of constraints 502 are applied to the scoring module 522 of the control restriction rules in the constraint scoring module 520. The second type of constraints 502 specify the hard constraints that the production scheduling result should meet. If there is a violation of the restriction rules of the second constraint 502, the penalty score of the production scheduling solution will be increased. By applying the second type of constraints 502, the solver 525 can search for a feasible scheduling result for the production scheduling.

[0116] Optionally, a third type of constraint 503 may also be applied to the scoring module 524 of the control optimization rule. The third type of constraint specifies soft constraints as optimization targets. The score for the soft constraint may be determined based on an evaluation of the searched production scheduling results (e.g., considering the total time or total waiting time).

[0117] During the search, the solver 525 can allocate time and resources for each task object in the production domain instance object 521, and use scoring modules 523 and 524 to score the second type of constraints 502 and the third type of constraints 503. The solver 525 can use various algorithms to perform the search for the production schedule. In some embodiments, the third type of constraints can be selectively applied based on computing resources and time factors.

[0118] The present disclosure also provides an ontology-based processing device. The processing device can be implemented by a scheduler or a computing device running the scheduler. The processing device includes an instance object creation module, a constraint acquisition module, an instance object update module, and a production scheduling execution module.

[0119] The instance object creation module is configured to create multiple production domain instance objects related to production scheduling based on the ontology model, each of the multiple production domain instance objects having attributes. The constraint acquisition module is configured to acquire first-class constraints and second-class constraints based on the attributes of the multiple production domain instance objects, the first-class constraints comprising preparation rules for production scheduling, and the second-class constraints comprising restriction rules for production scheduling. The instance object update module is configured to update the multiple production domain instance objects by applying the first-class constraints. The production scheduling execution module is configured to execute production scheduling on the updated production domain instance objects by applying the second-class constraints to obtain a scheduling result.

[0120] In some embodiments, the ontology model defines a plurality of domain ontology classes related to production scheduling, attributes of each domain ontology class, and relationships between the plurality of domain ontology classes.

[0121] In some embodiments, the instance object creation module can also be configured to: obtain ordering information and resource information for the product; and create multiple production domain instance objects by instantiating multiple domain ontology classes of the ontology model based on the ordering information and resource information.

[0122] In some embodiments, the instance object creation module can also be configured to: determine at least one process step for a product in the order information based on domain knowledge; and create a task object associated with each process step in the at least one process step and a resource object for processing the task object.

[0123] In some embodiments, the production scheduling execution module may be further configured to: allocate a resource object and time to the task object, so that the resource object processes the task object at the time.

[0124] In some embodiments, the instance object creation module can also be configured to: create a work request object associated with the order list, the work request object is associated with the task object of the product in the order list; create a process step object associated with the task object of the product; create a process route object, the process route object is associated with at least one process step object of the product; and create a material object associated with the process step object.

[0125] In some embodiments, the constraint acquisition module may be configured to acquire a first type of constraint based on at least one of an arrival time and a physical limitation attribute of the material object and an alternative resource of the task object.

[0126] In some embodiments, the instance object update module is configured to: delete task objects that do not meet the arrival time attribute of the material object and resource objects that do not meet the physical limitation attribute of the material object; and add resource objects based on the alternative resources of the task objects.

[0127] In some embodiments, the constraint acquisition module may be configured to acquire a second type of constraint based on at least one of a sequence attribute of a process step object, a time availability attribute of a resource object, and a capability attribute of a resource object.

[0128] In some embodiments, the constraint acquisition module may be configured to acquire a third type of constraint, wherein the third type of constraint includes optimization rules for production scheduling. The production scheduling execution module may also be configured to optimize the scheduling result based on the third type of constraint to obtain an optimized scheduling result.

[0129] In some embodiments, the constraint acquisition module can also be configured to: determine the total time of production scheduling and the total waiting time of task objects based on the scheduling results; and obtain a third type of constraint based on at least one of the total time and the total waiting time.

[0130] In some embodiments, the production scheduling execution module may be further configured to obtain an optimized scheduling result from the scheduling result by minimizing at least one of the total time and the total waiting time.

[0131] FIG6 shows a schematic block diagram of an example device 600 that can be used to implement an embodiment of the present disclosure. The device 600 can be used to implement the scheduler 104 shown in FIG1 and the method 200 described in FIG2 . For example, the computing device and / or cloud server described above can be implemented by one or more components in the example device 600. As shown in FIG6 , the device 600 includes a processor, such as a central processing unit (CPU) 601, which can perform various appropriate actions and processes according to computer program instructions stored in a read-only memory (ROM) 602 or computer program instructions loaded from a storage unit 608 into a random access memory (RAM) 603. In the RAM 603, various programs and data required for the operation of the device 600 can also be stored. The CPU 601, the ROM 602, and the RAM 603 are connected to each other via a bus 604. An input / output (I / O) interface 605 is also connected to the bus 604.

[0132] Various components in device 600 are connected to I / O interface 605, including an input unit 606, such as a keyboard, mouse, etc.; an output unit 607, such as various types of displays, speakers, etc.; a storage unit 608, such as a magnetic disk, optical disk, etc.; and a communication unit 609, such as a network card, modem, wireless communication transceiver, etc. The communication unit 609 allows device 600 to exchange information / data with other devices via a computer network such as the Internet and / or various telecommunication networks.

[0133] The processing unit 601 performs the various methods and processes described above, such as method 200. For example, in some embodiments, the scheduler 104 or method 200 can be implemented as a computer software program or computer program product, which is tangibly contained in a computer-readable medium, such as a non-transitory computer-readable medium (e.g., storage unit 608). In some embodiments, part or all of the computer program can be loaded and / or installed on the device 600 via ROM 602 and / or communication unit 609. When the computer program is loaded into RAM 603 and executed by CPU 601, one or more steps in the method or process described above can be performed. Alternatively, in other embodiments, CPU 601 can be configured to perform the method or process of an embodiment of the present disclosure in any other appropriate manner (e.g., by means of firmware).

[0134] It should be understood by those skilled in the art that the various steps of the method of the present disclosure described above can be implemented by a general-purpose computing device. They can be concentrated on a single computing device or distributed on a network composed of multiple computing devices. Alternatively, they can be implemented using program codes executable by a computing device, so that they can be stored in a storage device and executed by the computing device, or they can be made into individual integrated circuit modules, or multiple modules or steps therein can be made into a single integrated circuit module for implementation. In this way, the present disclosure is not limited to any specific combination of hardware and software. For example, certain embodiments of the present disclosure also include various program modules and / or integrated circuit modules for implementing one or more functions of the scheduler 104 or executing one or more steps of the method 200 and / or one or more other steps described in other embodiments of the present disclosure. These program modules can be included or embodied in a device, such as the device 600 in Figure 6.

[0135] According to an exemplary implementation of the present disclosure, a computer-readable storage medium is provided, on which computer-executable instructions are stored, wherein the computer-executable instructions are executed by a processor to implement the method described above. According to an exemplary implementation of the present disclosure, a computer program product is also provided, which is tangibly stored on a non-transitory computer-readable medium and includes computer-executable instructions, and the computer-executable instructions are executed by a processor to implement the method described above.

[0136] Various aspects of the present disclosure are described herein with reference to flowcharts and / or block diagrams of methods, apparatuses, devices, and computer program products implemented according to the present disclosure. It should be understood that each block of the flowcharts and / or block diagrams, and combinations of blocks in the flowcharts and / or block diagrams, can be implemented by computer-readable program instructions.

[0137] These computer-readable program instructions can be provided to a processing unit of a general-purpose computer, a special-purpose computer, or other programmable information presentation device, thereby producing a machine such that when these instructions are executed by the processing unit of the computer or other programmable information presentation device, a device is generated that implements the functions / actions specified in one or more blocks in the flowchart and / or block diagram. These computer-readable program instructions can also be stored in a computer-readable storage medium, where these instructions cause the computer, programmable information presentation device, and / or other device to operate in a specific manner, such that the computer-readable medium storing the instructions comprises an article of manufacture that includes instructions for implementing various aspects of the functions / actions specified in one or more blocks in the flowchart and / or block diagram.

[0138] Computer-readable program instructions can be loaded onto a computer, other programmable information presentation apparatus, or other device, so that a series of operational steps are performed on the computer, other programmable information presentation apparatus, or other device to produce a computer-implemented process, thereby causing the instructions executed on the computer, other programmable information presentation apparatus, or other device to implement the functions / actions specified in one or more boxes in the flowcharts and / or block diagrams of the embodiments of the present disclosure.

[0139] The flow charts and block diagrams in the accompanying drawings show the possible architecture, functions and operations of the systems, methods and computer program products according to multiple implementations of the present disclosure. In this regard, each box in the flow chart or block diagram can represent a part for a module, program segment or instruction, and a part for a module, program segment or instruction comprises one or more executable instructions for realizing the logical function of the specification. In some alternative implementations, the functions marked in the box can also occur in a sequence different from that marked in the accompanying drawings. For example, two continuous boxes can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each box in the block diagram and / or flow chart, and the combination of the boxes in the block diagram and / or flow chart can be realized by a special hardware-based system that performs the function or action of the specification, or can be realized by a combination of special hardware and computer instructions.

[0140] While various implementations of the present disclosure have been described above, the foregoing description is intended to be illustrative, not exhaustive, and not limited to the disclosed implementations. Many modifications and variations will be apparent to those skilled in the art without departing from the scope and spirit of the described implementations. The terminology used herein is selected to best explain the principles of the implementations, their practical applications, or improvements to existing technologies, or to enable others skilled in the art to understand the various implementations disclosed herein.

Claims

1. A processing method (200) based on an ontology model, comprising: Creating (210) a plurality of production domain instance objects associated with production scheduling based on the ontology model, wherein each of the plurality of production domain instance objects has attributes; Acquiring (220) a first type of constraint (501) and a second type of constraint (502) based on the attributes of the plurality of production domain instance objects, wherein the first type of constraint (501) includes preparation rules for production scheduling, and the second type of constraint (502) includes restriction rules for production scheduling; updating (230) the plurality of production domain instance objects by applying the first type of constraints (501); as well as Production scheduling is performed (240) on the updated production domain instance object by applying the second type of constraints (502) to obtain a scheduling result.

2. The method (200) according to claim 1, wherein: The ontology model defines a plurality of domain ontology classes related to production scheduling, attributes of each domain ontology class, and relationships between the plurality of domain ontology classes.

3. The method (200) according to claim 2, wherein: Creating (210) the plurality of production domain instance objects includes: Obtaining order information (101) and resource information (102) for a product; and Based on the order information (101) and the resource information (102), the multiple production domain instance objects are created by instantiating multiple domain ontology classes of the ontology model.

4. The method (200) according to claim 3, creating (210) the plurality of production domain instance objects further comprising: Determining at least one process step of the product in the order information (101) based on domain knowledge (103); as well as A task object (380) associated with each process step of the at least one process step and a resource object (390) for processing the task object (380) are created.

5. The method of claim 4, wherein performing (240) production scheduling comprises: The resource object (390) and time are allocated to the task object (380), so that the resource object (390) processes the task object (380) at the time.

6. The method according to claim 3, wherein: Creating (210) the plurality of domain objects further comprises: Creating a work request object (360) associated with the order list, the work request object (360) being associated with the task objects (380) for the products in the order list; creating a process step object (350) associated with a task object (380) for a product; creating a process route object (330) associated with at least one process step object (350) for a product; and A material object (340) is created that is associated with the process step object (350).

7. The method according to claim 6, wherein: Obtaining the first type of constraints (501) includes: The first type of constraint (501) is obtained based on at least one of the attributes of the arrival time and physical limitation of the material object (340) and the alternative resources of the task object (380).

8. The method according to claim 7, wherein: Updating the multiple production domain instance objects includes: Deleting task objects that do not conform to the arrival time attribute of the material object (340) and resource objects (390) that do not conform to the physical constraint attribute of the material object (340); and Based on the replaceable resources of the task object (380), a resource object (390) is added.

9. The method according to claim 6, wherein: Obtaining the second type of constraints includes: The second type of constraint (502) is obtained based on at least one of a sequence attribute of the process step object (350), a time availability attribute of the resource object (390), and a capability attribute of the resource object (390).

10. The method according to claim 1, further comprising: Obtaining a third type of constraints (503), wherein the third type of constraints (503) includes optimization rules for production scheduling; as well as The scheduling result is optimized based on the third type of constraints (503) to obtain an optimized scheduling result.

11. The method according to claim 10, wherein: Obtaining the third type of constraints (503) includes: Based on the scheduling result, determining the total time of the production schedule and the total waiting time of the task object (390); and The third type of constraint based on at least one of the total time and the total waiting time is obtained (503).

12. The method according to claim 11, wherein Optimizing the scheduling result includes: The optimized scheduling result is solved from the scheduling result by minimizing at least one of the total time and the total waiting time.

13. A processing device based on an ontology model, comprising: An instance object creation module is configured to create a plurality of production domain instance objects associated with production scheduling based on the ontology model, wherein each of the plurality of production domain instance objects has attributes; a constraint acquisition module configured to acquire first-type constraints and second-type constraints based on the attributes of the plurality of production domain instance objects, wherein the first-type constraints include preparation rules for production scheduling, and the second-type constraints include restriction rules for production scheduling; an instance object updating module, configured to update the plurality of production domain instance objects by applying the first type of constraints; as well as The production scheduling execution module is configured to execute production scheduling on the updated production domain instance object by applying the second type of constraints to obtain a scheduling result.

14. An electronic device (600), comprising: one or more processors (601); as well as A memory (603) is configured to store computer-executable instructions, wherein the computer-executable instructions, when executed by the one or more processors (601), enable the electronic device (600) to implement the method according to any one of claims 1 to 12.

15. A computer-readable storage medium (603) having computer-executable instructions stored thereon, wherein the computer-executable instructions, when executed by a processor (601), implement the method according to any one of claims 1 to 12.

16. A computer program product comprising computer executable instructions which, when executed by a processor (601), implement the method according to any one of claims 1 to 12.