DETAILED ACTION
This communication is a Final Office Action rejection on the merits. Claims 1-20 are currently pending and have been addressed below.
Notice of Pre-AIA or AIA Status
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
Response to Arguments
Applicant's arguments filed on 03/16/2026 (related to the 103 Rejection) have been fully considered but they are not persuasive.
Applicant states, on pages 10-14, that the cited reference fail to teach "identifying one or more sub-problems, each sub-problem associated with a subset of constraints that are not satisfied by a tentative schedule defined by the tentative solution.” Also, that adding penalty terms to an objective function is clearly difference from the claimed appending candidate variables to the scheduling problem.
Examiner respectfully disagrees with Applicant. Yang discloses identifying one or more sub-problems (Column 13, lines 66-67 & Column 14, lines 1-11, worker preference data; Column 14, lines 20-29; soft constraints, max hour per week; Column 16, lines 27-38, The worker availability constraint in 800 expresses that if a shift's duration is not fully contained in one of the available time slots for a worker, that worker cannot be assigned to that shift. The worker qualification constraints in 800 expresses that a worker is assigned to a shift only if the worker is qualified for the role required for the shift). As specified in Applicant’s specification, a sub-problem may be represented by one or more global constraints such as scheduling rules, wherein some of the rules may be translated to soft constraints and hard constraints (see Paragraphs 0023-0024 & 0031). Therefore, based on broadest reasonable interpretation in light of the specification, Yan discloses one or more subproblems since it can apply scheduling rules to a scheduling optimization problem for reducing the problem to a subset of workers (e.g., identity only the qualified workers based on constraints).
Further, Yang discloses each sub-problem associated with a subset of constraints that are not satisfied by a tentative schedule defined by the tentative solution; identifying, by solving the one or more sub-problems, one or more candidate variables improving a value of the principal objective function (Column 14, lines 20-29, In 616, the system tests if the solver fails to find a solution, in the event that it is not feasible to find a solution, it will indicate that the given problem is infeasible, and control passes to 618 where certain soft constraints will be relaxed based on the order prescribed by the user (e.g., relax max hour per week constraints first before relaxing the demand coverage constraint). When a constraint is relaxed, it is removed from the set of constraints 610 and the corresponding constraint violation is added as a penalty cost term to the objective function 612). In this case, Examiner notes that Yang identifies whether the demand coverage is satisfied or not satisfied by the tentative solution. If the demand coverage is not satisfied, then the system may initiate a new iteration with updated constraints (see Column 14, lines 20-29, relax soft constraints and form a new objective function). As specified in Applicant’s specification, when one or more constraints and objectives are not satisfied by the initial or intermediate solution of the principal problem, then the solution may be appended in order to improve the value of the principal objective function (see Paragraphs 0025, 0042 & 0050-0051, initiating a new iteration or terminating the current workflow). Therefore, based on broadest reasonable interpretation in light of the specification, Yang discloses “appending the solution in order to improve the value of the principal objective function” since the system can initiate a new iteration with updated constraints when the initial solution is not satisfied.
Applicant's arguments filed on 03/16/2026 (related to the 101 Rejection) have been fully considered but they are not persuasive.
Applicant states, on pages 7-10, that the specification explains that "in order to reduce the computational complexity, such a MILP problem may be broken down into the principal problem and a set of sub-problems" and that "[t]he reduced dimensionality of the resulting principal problem allows solving it using various mathematical programming methods" while "the sub-problems may be solved simultaneously (e.g., by assigning a respective dedicated execution environment, such as a process, a processing thread, a virtual or a physical machine, to each of the sub-problems), thus further reducing the overall time that would be necessary to find an acceptable solution." Specification, at ¶0022. Furthermore, "the solution of the sub-problem 220K identifies one or more candidate decision variables that, if appended to the principal problem, would improve the value of the principal objective function as compared to its current value." Specification, at ¶0050. This specific mechanism of identifying candidate variables through sub-problem solving and appending them to modify the principal problem, as recited in claim 1, is not a conventional or routine approach. The improvement in computational efficiency is not merely from using faster hardware, but from the specific ordered combination of steps recited in claim 1. The claims do not preempt all methods of workforce scheduling or even all optimization approaches but rather recite a specific column generation technique with the particular steps of identifying sub-problems based on unsatisfied constraints, solving those sub-problems to find candidate variables, and appending those variables to modify the principal problem. For at least the foregoing reasons, Applicant respectfully requests withdrawal of the rejection of claims 1-20 under 35 U.S.C. § 101.
Examiner respectfully disagrees with Applicant. These claim elements are considered to be abstract ideas because they are directed to “mathematical concepts” which include “mathematical calculations.” In this case, “optimizing a principal objective function by appending the one or more candidate variables” is merely performing mathematical calculations to find a feasible solution. If a claim limitation, under its broadest reasonable interpretation, covers mathematical calculations, then it falls within the “mathematical concepts” grouping of abstract ideas. Accordingly, the claim recites an abstract idea.
The main functions of the additional elements recited in claim 1 are merely used to: collect data (e.g. a plurality of variables and a plurality of constraints associated with the plurality of variables), analyze the data (e.g. solve an optimization problem), and display certain results of the collection and analysis (e.g. generate a schedule). Those are functions that the courts have described as merely indicating a field of use or technological environment in which to apply a judicial exception (see MPEP 2106.05(h)). Also, the step of “identifying one or more candidate variables improving a value of the principal objective function” is considered a well-understood, routing, and conventional function since it’s just “performing repetitive calculations” (MPEP 2106.05(d)).
Although Applicant further states that the sub-problems may be solved simultaneously, Examiner notes that “processing sub-problems simultaneously” is merely accelerating the process of processing tasks, but the increased speed comes solely from the capabilities of a general-purpose computer (see MPEP 2106.05(a)). Merely stating that the step is performed by a computer component results in “apply it” on a computer (MPEP 2106.05f) being applicable at both Step 2A, Prong 2 and Step 2B. Mere instructions to apply an exception using a generic computer component cannot provide an inventive concept.
Lastly, the claim fails to recite any improvements to another technology or technical field, improvements to the functioning of the computer itself, use of a particular machine, effecting a transformation or reduction of a particular article to a different state or thing, adding unconventional steps that confine the claim to a particular useful application, and/or meaningful limitations beyond generally linking the use of an abstract idea to a particular environment. See 84 Fed. Reg. 55. Viewed individually or as a whole, these additional claim element(s) do not provide meaningful limitation(s) to transform the abstract idea into a patent eligible application of the abstract idea such that the claim(s) amounts to significantly more than the abstract idea itself. Thus, the claim is not patent eligible.
Independent claims 8 and 15 recite similar features and therefore are rejected for the same reasons as independent claim 1. Claims 2-7, 9-14, and 16-20 are rejected for having the same deficiencies as those set forth with respect to the claims that they depend from, independent claims 1, 8, and 15.
Claim Rejections - 35 USC § 101
35 U.S.C. 101 reads as follows:
Whoever invents or discovers any new and useful process, machine, manufacture, or composition of matter, or any new and useful improvement thereof, may obtain a patent therefor, subject to the conditions and requirements of this title.
Claims 1-20 are rejected under 35 U.S.C. 101 because the claimed invention is directed to a judicial exception (i.e., an abstract idea) without reciting significantly more.
Independent Claim 1
Step One - First, pursuant to step 1 in the January 2019 Revised Patent Subject Matter Eligibility Guidance (“2019 PEG”) on 84 Fed. Reg. 53, the claim 1 is directed to a method which is a statutory category.
Step 2A, Prong One - Claim 1 recites: A method, comprising: identifying a plurality of variables associated with scheduling a plurality of workers to perform a plurality of jobs during a plurality of time periods; identifying a plurality of constraints associated with the plurality of variables; identifying a principal scheduling problem for optimizing a principal objective function defined on a principal subset of a plurality of variables subject to a principal subset of the plurality of constraints, wherein each variable of the principal subset is associated with a worker schedule of a corresponding worker; determining a tentative solution of the principal scheduling problem; identifying one or more sub-problems, each sub-problem associated with a subset of constraints that are not satisfied by a tentative schedule defined by the tentative solution; identifying, by solving the one or more sub-problems, one or more candidate variables improving a value of the principal objective function; modifying the principal scheduling problem by appending the one or more candidate variables to the principal scheduling problem; and generating, by solving the modified principal scheduling problem, a schedule to assign at least the plurality of workers to perform at least the plurality of jobs during at least the plurality of time periods. These claim elements are considered to be abstract ideas because they are directed to “mathematical concepts” which include “mathematical calculations.” In this case, “optimizing a principal objective function by appending the one or more candidate variables” is merely performing mathematical calculations to find a feasible solution. If a claim limitation, under its broadest reasonable interpretation, covers mathematical calculations, then it falls within the “mathematical concepts” grouping of abstract ideas. Accordingly, the claim recites an abstract idea.
Step 2A Prong 2 - The judicial exception is not integrated into a practical application. Claim 1 includes additional elements: a processing device.
The processing device is merely used to execute the method (Paragraph 0052). Merely stating that the step is performed by a computer component results in “apply it” on a computer (MPEP 2106.05f). This element of “processing device” is recited at a high level of generality such that it amounts no more than mere instructions to apply the exception using a generic computer element. Accordingly, alone and in combination, this additional element does not integrate the abstract idea into a practical application because it does not impose any meaningful limits on practicing the abstract idea. Therefore, the claim is directed to an abstract idea.
Step 2B - The claim does not include additional elements that are sufficient to amount significantly more than the judicial exception. As discussed above with respect to integration of the abstract idea into a practical application, the claims describe how to generally “apply” the concept of optimizing a principal objective function. The specification shows that the processing device is merely used to execute the method (Paragraph 0052). Thus, nothing in the claim adds significantly more to the abstract idea. The claim is ineligible.
Independent claim 8 is directed to a system at step 1, which is a statutory category. Claim 8 recites similar limitations as claim 1 and is rejected for the same reasons at step 2a, prong one; step 2a, prong 2; and step 2b. Claim 8 further recites “memory” – which is treated as just an explicit “processor/computer” for storing/executing the operations and is treated under MPEP 2106.05f in the same manner as claim 1. Accordingly, this additional element of “memory” is viewed as “apply it on a computer” at step 2a, prong 2 and step 2b. Thus, the claim is not patent eligible.
Independent claim 15 is directed to a program at step 1, which is a statutory category. Claim 15 recites similar limitations as claim 1 and is rejected for the same reasons at step 2a, prong one; step 2a, prong 2; and step 2b. Claim 15 further recites “computer-readable non-transitory storage medium” – which is treated as just an explicit “processor/computer” for storing/executing the operations and is treated under MPEP 2106.05f in the same manner as claim 1. Accordingly, this additional element of “memory” is viewed as “apply it on a computer” at step 2a, prong 2 and step 2b. Thus, the claim is not patent eligible.
Dependent claims 2-4, 6, 9-11, 13, 16-18, and 20 are not directed to any additional claim elements. Rather, these claims offer further descriptive limitations of the abstract idea mentioned above - such as: wherein the schedule is represented by a finite set of n-tuples, each n-tuple specifying at least one of: a shift identifier, a job identifier, or a worker identifier; wherein the principal objective function reflects a chosen quality metric associated with the schedule; wherein the principal subset of the plurality of constraints specifies global constraints; wherein each sub-problem of the one or more sub-problems is generated responsive to identifying a corresponding sub-schedule of the tentative solution of the principal problem, wherein a value of a chosen quality metric of the corresponding sub-schedule exceeds a predefined threshold value. These processes are similar to the abstract idea noted in the independent claim because they further the limitations of the independent claim which are directed to certain to “mathematical concepts” which include “mathematical calculations.” In this case, “identifying a solution that exceeds a predefined threshold value” is still considered a mathematical calculation. In addition, there are no additional elements to consider at Step 2A Prong 2 and Step 2B. Therefore, the claims still recite an abstract idea that can be grouped into mathematical concepts.
Dependent claims 5, 12, and 19 are directed to an additional element such as: a neighborhood search. The neighborhood search is merely used to modify the decision variables within a pre-defined vicinity of the current tentative solution in accordance with a chosen search strategy (Paragraphs 0049). Merely stating that the step is performed by a computer component (e.g., neighborhood search) results in “apply it” on a computer (MPEP 2106.05f) being applicable at both Step 2A, Prong 2 and Step 2B. Mere instructions to apply an exception using a generic computer component cannot provide an inventive concept. Thus, nothing in the claim adds significantly more to the abstract idea. The claim is not patent eligible.
Dependent claims 7 and 14 are directed to an additional element such as one of: a processing thread, a physical server, or a virtual machine. The at least one of processing thread, a physical server, or a virtual machine is merely used to solve sub-problems simultaneously (Paragraphs 0049). Merely stating that the step is performed by a computer component results in “apply it” on a computer (MPEP 2106.05f) being applicable at both Step 2A, Prong 2 and Step 2B. Mere instructions to apply an exception using a generic computer component cannot provide an inventive concept. Also, accelerating a process of finding an optimal solution (e.g., by solving sub-problems simultaneously) comes solely from the capabilities of a general-purpose computer (see MPEP 2106.05(a)). Thus, nothing in the claim adds significantly more to the abstract idea. The claim is not patent eligible.
Claim Rejections - 35 USC § 102
In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis (i.e., changing from AIA to pre-AIA ) for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status.
The following is a quotation of the appropriate paragraphs of 35 U.S.C. 102 that form the basis for the rejections under this section made in this Office action:
A person shall be entitled to a patent unless –
(a)(1) the claimed invention was patented, described in a printed publication, or in public use, on sale, or otherwise available to the public before the effective filing date of the claimed invention.
(a)(2) the claimed invention was described in a patent issued under section 151, or in an application for patent published or deemed published under section 122(b), in which the patent or application, as the case may be, names another inventor and was effectively filed before the effective filing date of the claimed invention.
Claims 1, 3-4, 6, 8, 10-11, 13, 15, 17-18, and 20 are rejected under 35 U.S.C. 102(a)(1) as being anticipated by Yang (US 11,948,106 B1).
Regarding claim 1 (Original), Yang discloses a method, comprising (Column 2, lines 5-6, FIG. 12 is a flow diagram illustrating a process for determining a solution):
identifying, by a processing device, a plurality of variables associated with scheduling a plurality of workers to perform a plurality of jobs during a plurality of time periods (Figure 2, item 208, Processor; Column 4, lines 4-8, A system for shift design and shift assignment comprises an interface configured to receive the scheduling input data and a Scheduling Engine to determine the optimal schedule in terms of what shifts the final schedule should have and which worker is assigned to which shift; Column 13, lines 66-67 & Column 14, lines 1-11, FIG. 6 is a flow diagram illustrating an embodiment of a process for schedule creation. In some embodiments, the process of FIG. 6 is executed by Scheduling Engine 106 of FIG. 1. In the example shown, in 602 almost all the scheduling input data illustrated in FIG. 3A-D (with the only exception of employee preference data) can be edited by an administrator or a manager. In 604, worker preference and availability data can be edited by individual workers. In 606, a set of shift candidates is generated as illustrated in FIG. 5. In 608, a set of decision variables are formed with the primary categories of decision variables being the shift candidate selection binary decision variables and the shift assignment binary decision variables);
identifying a plurality of constraints associated with the plurality of variables (Column 14, lines 11-17, From there, control passes to 610 and 612 to build a set of constraints and an objective function respectively using the decision variables and the scheduling input data. Once the constraints and objective function are built, the solver 614 is invoked with the optimization model (e.g., the decision variables, the set of constraints and the objective function));
identifying a principal scheduling problem for optimizing a principal objective function defined on a principal subset of a plurality of variables subject to a principal subset of the plurality of constraints (Column 14, lines 11-20, From there, control passes to 610 and 612 to build a set of constraints and an objective function respectively using the decision variables and the scheduling input data. Once the constraints and objective function are built, the solver 614 is invoked with the optimization model (e.g., the decision variables, the set of constraints and the objective function). The solver will try to find a solution that optimize the objective function (e.g., minimizing the total cost) while respecting all the given constraints), wherein each variable of the principal subset is associated with a worker schedule of a corresponding worker (Column 20, lines 41-50, In 1014, a subset of the shift candidates selected in the final schedule and a set of shift assignments of which worker is assigned to which selected shift candidate of the subset of the shift candidates are determined simultaneously, using either a MIP solver, such that the hard constraints are fully respected, violations to the soft constraints are minimized, and the cost function is minimized. In some embodiments, the subset of shift candidates is selected so that in every time period a number of required workers with appropriate qualifications is assigned);
determining a tentative solution of the principal scheduling problem (Column 14, lines 14-20, Once the constraints and objective function are built, the solver 614 is invoked with the optimization model (e.g., the decision variables, the set of constraints and the objective function). The solver will try to find a solution that optimize the objective function (e.g., minimizing the total cost) while respecting all the given constraints);
identifying one or more sub-problems, each sub-problem associated with a subset of constraints that are not satisfied by a tentative schedule defined by the tentative solution (Column 14, lines 20-29, In 616, the system tests if the solver fails to find a solution, in the event that it is not feasible to find a solution, it will indicate that the given problem is infeasible, and control passes to 618 where certain soft constraints will be relaxed based on the order prescribed by the user (e.g., relax max hour per week constraints first before relaxing the demand coverage constraint). When a constraint is relaxed, it is removed from the set of constraints 610 and the corresponding constraint violation is added as a penalty cost term to the objective function 612; 57, The worker availability constraint in 800 expresses that if a shift's duration is not fully contained in one of the available time slots for a worker, that worker cannot be assigned to that shift; 58, The worker qualification constraints in 800 expresses that a worker is assigned to a shift only if the worker is qualified for the role required for the shift; Examiner interprets reducing the problem to a subset of workers as the one or more sub-problems. In this case, the subset of workers is interpreted as the workers who are available and qualified to perform the job);
identifying, by solving the one or more sub-problems, one or more candidate variables improving a value of the principal objective function (Column 14, lines 20-31, In 616, the system tests if the solver fails to find a solution, in the event that it is not feasible to find a solution, it will indicate that the given problem is infeasible, and control passes to 618 where certain soft constraints will be relaxed based on the order prescribed by the user (e.g., relax max hour per week constraints first before relaxing the demand coverage constraint). When a constraint is relaxed, it is removed from the set of constraints 610 and the corresponding constraint violation is added as a penalty cost term to the objective function 612. If in the test of 616 a feasible solution is found, the quality of the solution will be assessed in 620);
modifying the principal scheduling problem by appending the one or more candidate variables to the principal scheduling problem (Column 14, lines 20-35, In 616, the system tests if the solver fails to find a solution, in the event that it is not feasible to find a solution, it will indicate that the given problem is infeasible, and control passes to 618 where certain soft constraints will be relaxed based on the order prescribed by the user (e.g., relax max hour per week constraints first before relaxing the demand coverage constraint). When a constraint is relaxed, it is removed from the set of constraints 610 and the corresponding constraint violation is added as a penalty cost term to the objective function 612. If in the test of 616 a feasible solution is found, the quality of the solution will be assessed in 620. This can be done either objectively by using the pre-configured criteria (e.g., at least 95% of the demand is covered and spending is within 2% of the given budget, etc.) or manually judged by the user through the examining of the resulting schedule; Examiner interprets “relaxing soft constraints” as “appending one or more candidate variables”);
and generating, by solving the modified principal scheduling problem, a schedule to assign at least the plurality of workers to perform at least the plurality of jobs during at least the plurality of time periods (Column 4, lines 4-8, A system for shift design and shift assignment comprises an interface configured to receive the scheduling input data and a Scheduling Engine to determine the optimal schedule in terms of what shifts the final schedule should have and which worker is assigned to which shift; Column 14, lines 20-42, In 616, the system tests if the solver fails to find a solution, in the event that it is not feasible to find a solution, it will indicate that the given problem is infeasible, and control passes to 618 where certain soft constraints will be relaxed based on the order prescribed by the user (e.g., relax max hour per week constraints first before relaxing the demand coverage constraint). When a constraint is relaxed, it is removed from the set of constraints 610 and the corresponding constraint violation is added as a penalty cost term to the objective function 612. If in the test of 616 a feasible solution is found, the quality of the solution will be assessed in 620. This can be done either objectively by using the pre-configured criteria (e.g., at least 95% of the demand is covered and spending is within 2% of the given budget, etc.) or manually judged by the user through the examining of the resulting schedule. In the event that the schedule quality is good, the final schedule is presented to the user in 624. For any practical scheduling problem, once certain number of constraints are relaxed (such as demand coverage constraint and minimum weekly hour constraints), a feasible solution is always found).
Regarding claim 8 (Original), Yang discloses a system, comprising: a memory; and a processing device coupled to the memory, the processing device configured to (Column 2, lines 13-16, The invention can be implemented in numerous ways, including as a process; an apparatus; a system; a composition of matter; a computer program product embodied on a computer readable storage medium; and/or a processor, such as a processor configured to execute instructions stored on and/or provided by a memory coupled to the processor):
identify a plurality of variables associated with scheduling a plurality of workers to perform a plurality of jobs during a plurality of time periods (Figure 2, item 208, Processor; Column 4, lines 4-8, A system for shift design and shift assignment comprises an interface configured to receive the scheduling input data and a Scheduling Engine to determine the optimal schedule in terms of what shifts the final schedule should have and which worker is assigned to which shift; Column 13, lines 66-67 & Column 14, lines 1-11, FIG. 6 is a flow diagram illustrating an embodiment of a process for schedule creation. In some embodiments, the process of FIG. 6 is executed by Scheduling Engine 106 of FIG. 1. In the example shown, in 602 almost all the scheduling input data illustrated in FIG. 3A-D (with the only exception of employee preference data) can be edited by an administrator or a manager. In 604, worker preference and availability data can be edited by individual workers. In 606, a set of shift candidates is generated as illustrated in FIG. 5. In 608, a set of decision variables are formed with the primary categories of decision variables being the shift candidate selection binary decision variables and the shift assignment binary decision variables);
identify a plurality of constraints associated with the plurality of variables (Column 14, lines 11-17, From there, control passes to 610 and 612 to build a set of constraints and an objective function respectively using the decision variables and the scheduling input data. Once the constraints and objective function are built, the solver 614 is invoked with the optimization model (e.g., the decision variables, the set of constraints and the objective function));
identify a principal scheduling problem for optimizing a principal objective function defined on a principal subset of a plurality of variables subject to a principal subset of the plurality of constraints (Column 14, lines 11-20, From there, control passes to 610 and 612 to build a set of constraints and an objective function respectively using the decision variables and the scheduling input data. Once the constraints and objective function are built, the solver 614 is invoked with the optimization model (e.g., the decision variables, the set of constraints and the objective function). The solver will try to find a solution that optimize the objective function (e.g., minimizing the total cost) while respecting all the given constraints), wherein each variable of the principal subset is associated with a sub-schedule of a corresponding worker (Column 20, lines 41-50, In 1014, a subset of the shift candidates selected in the final schedule and a set of shift assignments of which worker is assigned to which selected shift candidate of the subset of the shift candidates are determined simultaneously, using either a MIP solver, such that the hard constraints are fully respected, violations to the soft constraints are minimized, and the cost function is minimized. In some embodiments, the subset of shift candidates is selected so that in every time period a number of required workers with appropriate qualifications is assigned; Examiner interprets the “subset of the shift candidates” as the “sub-schedule”);
determine a tentative solution of the principal scheduling problem (Column 14, lines 14-20, Once the constraints and objective function are built, the solver 614 is invoked with the optimization model (e.g., the decision variables, the set of constraints and the objective function). The solver will try to find a solution that optimize the objective function (e.g., minimizing the total cost) while respecting all the given constraints);
identify one or more sub-problems, each sub-problem associated with a subset of constraints that are not satisfied by a tentative schedule defined by the tentative solution (Column 14, lines 20-29, In 616, the system tests if the solver fails to find a solution, in the event that it is not feasible to find a solution, it will indicate that the given problem is infeasible, and control passes to 618 where certain soft constraints will be relaxed based on the order prescribed by the user (e.g., relax max hour per week constraints first before relaxing the demand coverage constraint). When a constraint is relaxed, it is removed from the set of constraints 610 and the corresponding constraint violation is added as a penalty cost term to the objective function 612; 57, The worker availability constraint in 800 expresses that if a shift's duration is not fully contained in one of the available time slots for a worker, that worker cannot be assigned to that shift; 58, The worker qualification constraints in 800 expresses that a worker is assigned to a shift only if the worker is qualified for the role required for the shift; Examiner interprets reducing the problem to a subset of workers as the one or more sub-problems. In this case, the subset of workers is interpreted as the workers who are available and qualified to perform the job);
identify, by solving the one or more sub-problems, one or more candidate variables improving a value of the principal objective function (Column 14, lines 20-31, In 616, the system tests if the solver fails to find a solution, in the event that it is not feasible to find a solution, it will indicate that the given problem is infeasible, and control passes to 618 where certain soft constraints will be relaxed based on the order prescribed by the user (e.g., relax max hour per week constraints first before relaxing the demand coverage constraint). When a constraint is relaxed, it is removed from the set of constraints 610 and the corresponding constraint violation is added as a penalty cost term to the objective function 612. If in the test of 616 a feasible solution is found, the quality of the solution will be assessed in 620);
modify the principal scheduling problem by appending the one or more candidate variables to the principal scheduling problem (Column 14, lines 20-35, In 616, the system tests if the solver fails to find a solution, in the event that it is not feasible to find a solution, it will indicate that the given problem is infeasible, and control passes to 618 where certain soft constraints will be relaxed based on the order prescribed by the user (e.g., relax max hour per week constraints first before relaxing the demand coverage constraint). When a constraint is relaxed, it is removed from the set of constraints 610 and the corresponding constraint violation is added as a penalty cost term to the objective function 612. If in the test of 616 a feasible solution is found, the quality of the solution will be assessed in 620. This can be done either objectively by using the pre-configured criteria (e.g., at least 95% of the demand is covered and spending is within 2% of the given budget, etc.) or manually judged by the user through the examining of the resulting schedule; Examiner interprets “relaxing soft constraints” as “appending one or more candidate variables”);
and generate, by solving the modified principal scheduling problem, a schedule to assign at least the plurality of workers to perform at least the plurality of jobs during at least the plurality of time periods (Column 4, lines 4-8, A system for shift design and shift assignment comprises an interface configured to receive the scheduling input data and a Scheduling Engine to determine the optimal schedule in terms of what shifts the final schedule should have and which worker is assigned to which shift; Column 14, lines 20-42, In 616, the system tests if the solver fails to find a solution, in the event that it is not feasible to find a solution, it will indicate that the given problem is infeasible, and control passes to 618 where certain soft constraints will be relaxed based on the order prescribed by the user (e.g., relax max hour per week constraints first before relaxing the demand coverage constraint). When a constraint is relaxed, it is removed from the set of constraints 610 and the corresponding constraint violation is added as a penalty cost term to the objective function 612. If in the test of 616 a feasible solution is found, the quality of the solution will be assessed in 620. This can be done either objectively by using the pre-configured criteria (e.g., at least 95% of the demand is covered and spending is within 2% of the given budget, etc.) or manually judged by the user through the examining of the resulting schedule. In the event that the schedule quality is good, the final schedule is presented to the user in 624. For any practical scheduling problem, once certain number of constraints are relaxed (such as demand coverage constraint and minimum weekly hour constraints), a feasible solution is always found).
Regarding claim 15 (Original), Yang discloses a computer-readable non-transitory storage medium comprising executable instructions that, when executed by a processing device, cause the processing device to (Column 2, lines 13-16, The invention can be implemented in numerous ways, including as a process; an apparatus; a system; a composition of matter; a computer program product embodied on a computer readable storage medium; and/or a processor, such as a processor configured to execute instructions stored on and/or provided by a memory coupled to the processor):
identify a plurality of variables associated with scheduling a plurality of workers to perform a plurality of jobs during a plurality of time periods (Figure 2, item 208, Processor; Column 4, lines 4-8, A system for shift design and shift assignment comprises an interface configured to receive the scheduling input data and a Scheduling Engine to determine the optimal schedule in terms of what shifts the final schedule should have and which worker is assigned to which shift; Column 13, lines 66-67 & Column 14, lines 1-11, FIG. 6 is a flow diagram illustrating an embodiment of a process for schedule creation. In some embodiments, the process of FIG. 6 is executed by Scheduling Engine 106 of FIG. 1. In the example shown, in 602 almost all the scheduling input data illustrated in FIG. 3A-D (with the only exception of employee preference data) can be edited by an administrator or a manager. In 604, worker preference and availability data can be edited by individual workers. In 606, a set of shift candidates is generated as illustrated in FIG. 5. In 608, a set of decision variables are formed with the primary categories of decision variables being the shift candidate selection binary decision variables and the shift assignment binary decision variables);
identify a plurality of constraints associated with the plurality of variables (Column 14, lines 11-17, From there, control passes to 610 and 612 to build a set of constraints and an objective function respectively using the decision variables and the scheduling input data. Once the constraints and objective function are built, the solver 614 is invoked with the optimization model (e.g., the decision variables, the set of constraints and the objective function));
identify a principal scheduling problem for optimizing a principal objective function defined on a principal subset of a plurality of variables subject to a principal subset of the plurality of constraints (Column 14, lines 11-20, From there, control passes to 610 and 612 to build a set of constraints and an objective function respectively using the decision variables and the scheduling input data. Once the constraints and objective function are built, the solver 614 is invoked with the optimization model (e.g., the decision variables, the set of constraints and the objective function). The solver will try to find a solution that optimize the objective function (e.g., minimizing the total cost) while respecting all the given constraints), wherein each variable of the principal subset is associated with a worker schedule of a corresponding worker (Column 20, lines 41-50, In 1014, a subset of the shift candidates selected in the final schedule and a set of shift assignments of which worker is assigned to which selected shift candidate of the subset of the shift candidates are determined simultaneously, using either a MIP solver, such that the hard constraints are fully respected, violations to the soft constraints are minimized, and the cost function is minimized. In some embodiments, the subset of shift candidates is selected so that in every time period a number of required workers with appropriate qualifications is assigned);
determine a tentative solution of the principal scheduling problem (Column 14, lines 14-20, Once the constraints and objective function are built, the solver 614 is invoked with the optimization model (e.g., the decision variables, the set of constraints and the objective function). The solver will try to find a solution that optimize the objective function (e.g., minimizing the total cost) while respecting all the given constraints);
identify one or more sub-problems, each sub-problem associated with a subset of constraints that are not satisfied by a tentative schedule defined by the tentative solution (Column 14, lines 20-29, In 616, the system tests if the solver fails to find a solution, in the event that it is not feasible to find a solution, it will indicate that the given problem is infeasible, and control passes to 618 where certain soft constraints will be relaxed based on the order prescribed by the user (e.g., relax max hour per week constraints first before relaxing the demand coverage constraint). When a constraint is relaxed, it is removed from the set of constraints 610 and the corresponding constraint violation is added as a penalty cost term to the objective function 612; 57, The worker availability constraint in 800 expresses that if a shift's duration is not fully contained in one of the available time slots for a worker, that worker cannot be assigned to that shift; 58, The worker qualification constraints in 800 expresses that a worker is assigned to a shift only if the worker is qualified for the role required for the shift; Examiner interprets reducing the problem to a subset of workers as the one or more sub-problems. In this case, the subset of workers is interpreted as the workers who are available and qualified to perform the job);
identify, by solving the one or more sub-problems, one or more candidate variables improving a value of the principal objective function (Column 14, lines 20-31, In 616, the system tests if the solver fails to find a solution, in the event that it is not feasible to find a solution, it will indicate that the given problem is infeasible, and control passes to 618 where certain soft constraints will be relaxed based on the order prescribed by the user (e.g., relax max hour per week constraints first before relaxing the demand coverage constraint). When a constraint is relaxed, it is removed from the set of constraints 610 and the corresponding constraint violation is added as a penalty cost term to the objective function 612. If in the test of 616 a feasible solution is found, the quality of the solution will be assessed in 620);
modify the principal scheduling problem by appending the one or more candidate variables to the principal scheduling problem (Column 14, lines 20-35, In 616, the system tests if the solver fails to find a solution, in the event that it is not feasible to find a solution, it will indicate that the given problem is infeasible, and control passes to 618 where certain soft constraints will be relaxed based on the order prescribed by the user (e.g., relax max hour per week constraints first before relaxing the demand coverage constraint). When a constraint is relaxed, it is removed from the set of constraints 610 and the corresponding constraint violation is added as a penalty cost term to the objective function 612. If in the test of 616 a feasible solution is found, the quality of the solution will be assessed in 620. This can be done either objectively by using the pre-configured criteria (e.g., at least 95% of the demand is covered and spending is within 2% of the given budget, etc.) or manually judged by the user through the examining of the resulting schedule; Examiner interprets “relaxing soft constraints” as “appending one or more candidate variables”);
and generate, by solving the modified principal scheduling problem, a schedule to assign at least the plurality of workers to perform at least the plurality of jobs during at least the plurality of time periods (Column 4, lines 4-8, A system for shift design and shift assignment comprises an interface configured to receive the scheduling input data and a Scheduling Engine to determine the optimal schedule in terms of what shifts the final schedule should have and which worker is assigned to which shift; Column 14, lines 20-42, In 616, the system tests if the solver fails to find a solution, in the event that it is not feasible to find a solution, it will indicate that the given problem is infeasible, and control passes to 618 where certain soft constraints will be relaxed based on the order prescribed by the user (e.g., relax max hour per week constraints first before relaxing the demand coverage constraint). When a constraint is relaxed, it is removed from the set of constraints 610 and the corresponding constraint violation is added as a penalty cost term to the objective function 612. If in the test of 616 a feasible solution is found, the quality of the solution will be assessed in 620. This can be done either objectively by using the pre-configured criteria (e.g., at least 95% of the demand is covered and spending is within 2% of the given budget, etc.) or manually judged by the user through the examining of the resulting schedule. In the event that the schedule quality is good, the final schedule is presented to the user in 624. For any practical scheduling problem, once certain number of constraints are relaxed (such as demand coverage constraint and minimum weekly hour constraints), a feasible solution is always found).
Regarding claims 3, 10, and 17 (Original), which are dependent of claims 1, 8, and 15, Yang discloses all the limitations in claims 1, 8, and 15. Yang further discloses wherein the principal objective function reflects a chosen quality metric associated with the schedule (Column 12, lines 6-14, FIG. 3D is a diagram illustrating an embodiment of penalty cost configurations that are used to influence the schedule quality. In the example, shown, a table of rows describing penalty cost associated with schedule consistency, a worker's timing preference, a worker's total weekly hours preference, a worker's role preference and penalty cost for leaving demand uncovered. By varying the penalty costs, different shapes of the final schedule can be obtained from the solver; Column 14, lines 26-35, When a constraint is relaxed, it is removed from the set of constraints 610 and the corresponding constraint violation is added as a penalty cost term to the objective function 612. If in the test of 616 a feasible solution is found, the quality of the solution will be assessed in 620. This can be done either objectively by using the pre-configured criteria (e.g., at least 95% of the demand is covered and spending is within 2% of the given budget, etc.) or manually judged by the user through the examining of the resulting schedule.).
Regarding claims 4, 11, and 18 (Original), which are dependent of claims 1, 8, and 15, Yang discloses all the limitations in claims 1, 8, and 15. Yang further discloses wherein the principal subset of the plurality of constraints specifies global constraints associated with each variable of the principal subset of the plurality of variables (FIG. 3B is a diagram illustrating an embodiment of labor laws and union contract data. In the example shown, labor laws that govern meal break and short break in certain locales are listed in rows of a labor law table. Labor laws that govern overtime pay shift change notification rules, and penalty payment are also listed in rows of a labor law table. A union contract table is also shown, illustrating union rules associated with shift minimum/maximum length and min/max weekly hours. There can be many more types of labor laws and union contract rules. In some embodiments, labor laws and/or union contract rules relate to single shifts and the pay for workers under various conditions; Examiner notes that labor laws and union rules are considered global constraints since those rules apply to all workers).
Regarding claims 6, 13, and 20 (Original), which are dependent of claims 1, 8, and 15, Yang discloses all the limitations in claims 1, 8, and 15. Yang further discloses wherein each sub-problem of the one or more sub-problems is generated responsive to identifying a corresponding sub-schedule of the tentative solution of the principal problem, wherein a value of a chosen quality metric of the corresponding sub-schedule exceeds a predefined threshold value (Column 21, lines 45-57, In response to determining that a solution exists in 1204, control passes to 1208. In 1208, it is determined whether the solution metric is above a threshold. For example, the solution metric is compared to a quality threshold to determine whether the closeness of the solution to the target cost is sufficient. In response to determining that the solution metric is not above the threshold, control passes to 1209. In 1209, it is determined whether cost can be modified. In response to determining that cost can be modified, control passes to 1210. In 1210, the cost function is modified, and control passes to 1202. For example, one or more penalty costs are modified within the overall cost function and the solver is re-executed to determine a new solution).
Claim Rejections - 35 USC § 103
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
The factual inquiries set forth in Graham v. John Deere Co., 383 U.S. 1, 148 USPQ 459 (1966), that are applied for establishing a background for determining obviousness under 35 U.S.C. 103 are summarized as follows:
1. Determining the scope and contents of the prior art.
2. Ascertaining the differences between the prior art and the claims at issue.
3. Resolving the level of ordinary skill in the pertinent art.
4. Considering objective evidence present in the application indicating obviousness or nonobviousness.
Claims 2, 9, and 16 are rejected under 35 U.S.C. 103 as being unpatentable over Yang (US 11,948,106 B1), in view of Suntinger et al. (US 2016/0335575 A1).
Regarding claims 2, 9, and 16 (Original), which are dependent of claims 1, 8, and 15, Yang discloses all the limitations in claims 1, 8, and 15. Although Yang further discloses … at least one of: a shift identifier, a job identifier, or a worker identifier (24, The labor demand for a given period is described by a set of demand specifications, comprising a start time, an end time, the qualification required, and a number of workers needed. For example, on Jul. 11, 2019, from 11:00 AM to 3:00 PM, three cashiers are needed. In some embodiments, a range is used for labor demand—for example, at least two but no more than four cashiers are needed. A shift candidate comprises a complete shift for a worker, typically the full working hours for a worker in a day. For example, a shift candidate comprises a start time, an end time, and a qualification (e.g., a cashier on Jul. 11, 2019 from 9:00 AM to 5:00 PM)), Yang does not specifically disclose wherein the information is represented by a finite set of n-tuples.
However, Suntinger et al. discloses wherein the schedule is represented by a finite set of n-tuples, each n-tuple specifying at least one of: a shift identifier, a job identifier, or a worker identifier (Paragraph 0153, If a team-specific scheduling solution for the current team is identified at 506, a set of assignments (e.g. tuples) is returned. Each assignment defines an activity of the work item, a resource (assigned to work on the activity), an iteration (in which the resource works on the activity), a resource commitment (e.g. a number of story points, hours, or other measure that the resource will spend on the activity in the iteration), and one or more skill(s) (used by the resource to work on the activity).
It would have been obvious to one ordinary skill in the art before the effective filing date to modify the method for identifying a plurality of variables associated with scheduling a plurality of workers to perform a plurality of jobs during a plurality of time periods of the invention of Yang to further specify wherein the plurality of variables are represented by a finite set of n-tuples of the invention of Suntinger et al. because doing so would allow the method to provide a set of assignments by creating a tuple (see Suntinger et al., Paragraph 0153). Further, the claimed invention is merely a combination of old elements, and in combination each element would have performed the same function as it did separately, and one of ordinary skill in the art would have recognized that the results of the combination were predictable.
Claims 5, 12, and 19 are rejected under 35 U.S.C. 103 as being unpatentable over Yang (US 11,948,106 B1), in view of Montoya-Torres (Montoya-Torres, J.R., Moreno-Camacho, C.A. and Vélez-Gallego, M.C., 2023. Variable neighbourhood search for job scheduling with position-dependent deteriorating processing times. Journal of the Operational Research Society, 74(3), pp.873-887, Published online: 26 Apr 2022).
Regarding claims 5, 12, and 19 (Original), which are dependent of claims 1, 8, and 15, Yang discloses all the limitations in claims 1, 8, and 15. Although Yang discloses solving a sub-problem by appending one or more candidate variables (e.g., relaxing soft constraints), Yang does not specifically discloses wherein solving the sub-problem further comprises: performing neighborhood search in a vicinity of a known solution of the principal problem/sub-problem.
However, Montoya-Torres discloses wherein solving the sub-problem further comprises: performing neighborhood search in a vicinity of a known solution of the principal problem/sub-problem (Abstract, In the literature, only a small number of academic works has considered the assumption of non-stationary workers during the planning horizon. This problem is NP-hard since it is as an extension of the parallel machine scheduling problem with makespan minimization, which is itself NP-hard. A variable neighborhood search (VNS) algorithm is presented to solve this problem; its efficiency is evaluated through an extended set of numerical experiments with random-generated datasets; Page 876, 4.2 Variable neighborhood search heuristic, VNS heuristic is an improvement heuristic proposed by Mladenovic and Hansen (1997). The basic idea is to try to escape from local optima through the exploration of different neighborhood structures during the execution of the algorithm. This heuristic procedure has had great acceptance among researchers given the simplicity in the logic and implementation, in addition to having great adaptability for the solution of different types of problems (Hansenet al., 2010). Since its first appearance, some variations of the original search procedure have been developed, improving the performance of the algorithm (Hansen & Mladenovic, 2001). One of these variants corresponds to the VND. Given a set V ¼V1 , V2 , V3 , :::, Vqf g containing k previously established neighborhood structures, the VND variant is obtained by changing from one neighborhood to another deterministically; the decision to change occurs when the search procedure has reached a local optimum in the current neighborhood. If the found solution is better than the current solution, the scanning process is restarted from the first neighborhood (i.e., V1); otherwise, the next neighborhood of the set V is explored. The procedure ends when the neighborhoods have been consecutively explored without obtaining an improvement in the solution. The solution found is a local optimum with respect to the k proposed neighborhood structures; Page 876, 4.3. Neighborhood structure, The primary idea in the construction of neighborhoods is the construction of a new solution through the systematic modification of the current solution. This subsection presents the five proposed neighborhood structures, based on basic interchange explorations, insertion, and reversion).
It would have been obvious to one ordinary skill in the art before the effective filing date to modify the method for solving a sub-problem by appending one or more candidate variables (e.g., relaxing soft constraints when the solution is unfeasible) of the invention of Yang to further specify wherein other solutions are identified by performing neighborhood search in a vicinity of a known solution of the invention of Montoya-Torres because doing so would allow the method to try to escape from local optima through the exploration of different neighborhood structures during the execution of the algorithm (see Montoya-Torres, Page 876, 4.2 Variable neighborhood search heuristic). Further, the claimed invention is merely a combination of old elements, and in combination each element would have performed the same function as it did separately, and one of ordinary skill in the art would have recognized that the results of the combination were predictable.
Claims 7 and 19 are rejected under 35 U.S.C. 103 as being unpatentable over Yang (US 11,948,106 B1), in view of Ho et al. (US 2019/0120640 A1).
Regarding claims 7 and 14 (Original), which are dependent of claims 1 and 8, Yang discloses all the limitations in claims 1 and 8. Yang further discloses wherein each sub-problem of the one or more sub-problems is solved by a dedicated execution environment provided by one of: a processing … (Column 11, lines 15-16, Processor 208 is responsible for creating the optimal schedule for a given set of input data. Processor comprises shift candidate generator 210, optimization model 212 and solver interface 214; Column 20, lines 41-50, In 1014, a subset of the shift candidates selected in the final schedule and a set of shift assignments of which worker is assigned to which selected shift candidate of the subset of the shift candidates are determined simultaneously, using either a MIP solver, such that the hard constraints are fully respected, violations to the soft constraints are minimized, and the cost function is minimized. In some embodiments, the subset of shift candidates is selected so that in every time period a number of required workers with appropriate qualifications is assigned).
Although Yang discloses a processing device, Yang does not specifically disclose wherein the dedicated execution environment is provided by one of: a processing thread, a physical server, or a virtual machine (e.g., solved simultaneously, as specified in Applicant’s specification, Paragraph 0022).
However, Ho et al. discloses wherein each sub-problem of the one or more sub-problems is solved by a dedicated execution environment provided by one of: a processing thread, a physical server, or a virtual machine (Paragraph 0054, Some embodiments of the present disclosure provide a computer system (e.g., a server system), comprising one or more processors and memory storing one or more programs. The one or more programs store instructions that, when executed by the one or more processors, cause the computer system to perform any of the methods described here; Paragraph 0264, Some implementations described below solve sizable problems at scale. Broadly speaking, some implementations involve breaking the larger problem down into smaller sub-problems using spatio-temporal clustering, and then parallelizing these sub-problems across specialized solver instances to find solutions quickly; Paragraph 0270, The solver 1910 services the instances of the FRP problem from the planner 1908, as described below. In some embodiments, each vehicle of the plurality of vehicles (e.g., in a fleet) is solved in parallel by planner 1908; Paragraph 0271, The grouper 1906 breaks larger FRP problem into a plurality of smaller FRP problem instances via spatio-temporal clustering; Paragraph 0272, In some embodiments, the grouper 1906 assigns passengers to a set of potential stops and performs agglomerative clustering to partition stops into independently solvable groups by planner 1908, allowing a parallelizable divide-and-conquer).
It would have been obvious to one ordinary skill in the art before the effective filing date to modify the method for solving, by a processor, a sub-problem by appending one or more candidate variables (e.g., relaxing soft constraints when the solution is unfeasible) of the invention of Yang to further specify wherein each sub-problem is solved simultaneously of the invention of Ho et al. because doing so would allow the method to parallelize sub-problems across specialized solver instances to find solutions quickly (see Ho et al., Paragraph 0054). Further, the claimed invention is merely a combination of old elements, and in combination each element would have performed the same function as it did separately, and one of ordinary skill in the art would have recognized that the results of the combination were predictable.
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant’s disclosure.
Zhu (CN 114237835 A) – discloses when the number of constraints in the linear programming task is large, the solution time required for solving the linear programming task is long, it is therefore possible to first select the partial constraints in the linear programming task, and to solve based on the selected partial constraints, and endowing the solved result (the state of the solved variable in the selected part of the constraints) to the linear programming task, namely, taking the solved result as the initial value of the linear programming task, and solving the linear programming task, if the solution results of the selected partial constraints are substantially identical to the solution results after the linear programming task is solved (or are described as being closer, the substantially identical solution results here can be understood as the substantially identical parameter values of the solution variables in the same constraints), the number of iterations required for solving the linear programming task is small, that is, the solving speed of the linear programming task can be improved (see at least Page 3, Disclosure of Invention).
Ghaddar et al. (US 9659253 B1) – discloses solving complex optimization models is NP-hard, meaning the solution time increases exponentially in the worst case. This, together with other challenges such as uncertainty and nonlinearity, result in many real-world optimization models not being solvable in reasonable time. Using alternative formulations and solution approaches could speed up the solution process, but finding alternative approaches is still a manual process requiring deep optimization expertise. A system, method and computer program product for automatically reformulating a given optimization model into alternative formulations and then, implementing a parallel solution of the alternative formulations with alternative solution approaches which communicate with each other to improve performance (see at least Column 1, lines 19-30).
Aykin (US 10,970,682 B1) – discloses a MILP model to generate a plurality of solutions. If a solution generated by the MILP solution algorithm is an integer feasible solution, the search heuristic generates agent schedules. If a solution is not an integer feasible solution, the steps of the search heuristic are executed to find an integer feasible solution. The search heuristic compares the objective function value for an integer feasible solution found with the objective value for the best solution. If the integer feasible solution has a better objective function value, the best solution is replaced with the integer feasible solution (see at least Abstract).
Aykin (US 7,725,339 B1) – discloses If the values of the decision variables in the solution of the LP relaxation at node zero don't satisfy all integrality constraints, then the solution algorithm of the present invention calls the RA algorithm to search for an integer feasible solution. The RA algorithm first retrieves the values of the decision variables found by the B&C algorithm to the LP relaxation. The RA algorithm then rounds the values of the integer restricted decision variables with fractional values either up or down in an attempt to find an integer feasible solution. After rounding the values of the decision variables, the RA algorithm also checks the constraints of the MILP model. If the rounded solution is violating one or more constraints of the MILP model, values of the variables are adjusted to restore feasibility including addition of new agents to meet the agent requirements in every period, and for all skill types. If no solution satisfying all constraints can be found with the current solution, the RA algorithm terminates and control is returned back to the B&C algorithm. Otherwise, if an integer feasible solution to the MILP model is found, the RA algorithm calculates the objective value for that solution, and compares it with the best known solution to the MILP model, if one is available. If the new integer feasible solution found has a more favorable objective value, the new integer feasible solution replaces the best known solution to the MILP (see at least Column 5, lines 27-52).
THIS ACTION IS MADE FINAL. Applicant is reminded of the extension of time policy as set forth in 37 CFR 1.136(a).
A shortened statutory period for reply to this final action is set to expire THREE MONTHS from the mailing date of this action. In the event a first reply is filed within TWO MONTHS of the mailing date of this final action and the advisory action is not mailed until after the end of the THREE-MONTH shortened statutory period, then the shortened statutory period will expire on the date the advisory action is mailed, and any nonprovisional extension fee (37 CFR 1.17(a)) pursuant to 37 CFR 1.136(a) will be calculated from the mailing date of the advisory action. In no event, however, will the statutory period for reply expire later than SIX MONTHS from the mailing date of this final action.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to MARJORIE PUJOLS-CRUZ whose telephone number is (571)272-4668. The examiner can normally be reached Mon-Thru 7:30 AM - 5:00 PM.
Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Patricia H Munson can be reached at (571)270-5396. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300.
Information regarding the status of published or unpublished applications may be obtained from Patent Center. Unpublished application information in Patent Center is available to registered users. To file and manage patent submissions in Patent Center, visit: https://patentcenter.uspto.gov. Visit https://www.uspto.gov/patents/apply/patent-center for more information about Patent Center and https://www.uspto.gov/patents/docx for information about filing in DOCX format. For additional questions, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000.
/M.P./Examiner, Art Unit 3624 /PATRICIA H MUNSON/Supervisory Patent Examiner, Art Unit 3624