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 Amendment/Arguments
1. Amendment to claim 20 overcomes the objection.
2. Applicant’s arguments filed on May 1, 2026 regarding the rejection under 35 U.S.C. 101 have been fully considered but are not persuasive.
Applicant’s discussion on page 10 of the Remarks regarding Step 2A, Prong 2 standard has been considered. The Examiner does not dispute the general proposition that a claim reciting a judicial exception may be patent eligible where additional elements integrate the exception into a practical application. However, the pending claims do not recite additional elements that integrate the recited mathematical concepts and mental processes into a practical application.
Applicant’s arguments on pages 11-12 relying on paragraph [0030] of the Specification have been considered but are not persuasive. Applicant argues that amended claim 1 improves LP solver efficiency, reduces simplex iterations, reduces solving time, improves adaptability, and improves generality. However, those alleged improvements arise from the mathematical LP/simplex optimization process itself. As amended, claim 1 recites LP problem data, including variable data, objective function data, constraint data, category data, simplex-algorithm data associated with a current basis, and an updated basis. These are mathematical constructs used in solving a linear programming problem using the simplex algorithm.
MPEP 2106.05(a) states that “ the judicial exception alone cannot provide the improvement. The improvement can be provided by one or more additional elements.” Here, the relied upon improvement is supplied by the recited judicial exception itself, namely evaluating LP problem data, category data, simplex-algorithm data, current basis data, and selecting an updated basis during simplex optimization. The claim does not recite an improved processor, memory, storage architecture, network, user interface, or machine learning architecture. Thus, paragraph [0030] does not establish integration into a practical application.
Applicant’s arguments on page 12 regarding adaptability and generality are also not persuasive. Although Applicant asserts compatibility with different LP problems, different number of variables, and missing categories, amended claim 1 does not recite a fixed list of categories, handling of missing categories, variable-size input handling, a particular data structure, or a particular model architecture that provides such adaptability. Amended claim 1 recites that the categories are based on past LP problems in the recurrent series of LP problems. This merely further defines how mathematical LP variables are organized for use in the simplex calculation.
Applicant’s arguments on page 13 regarding the amended limitations directed to a recurrent series of LP problems, structural similarities, and categories based on past LP problems have been considered but are not persuasive. These amendments further describe the mathematical LP problems and mathematical LP data being processed. They limit the abstract optimization to related LP problems having structural similarities, but do not add a technological element that changes how the computer operates. The claim still recites mathematical LP data used in mathematical simplex calculations.
Applicant’s arguments on pages 13-14 regarding the amended pricing step limitation have been considered but are not persuasive. Applicant argues that the pricing model operates on computer-generated solver-state information and therefore is not a mental process. However, amended claim 1 recites processing category based input based on category data and simplex-algorithm data associated with a current basis to generate an updated basis. The category data, simplex-algorithm data, current basis, and updated basis are still mathematical LP/simplex data. Labeling the information as computer-generated does not change the character of the limitation.
The amended pricing step limitation still involves observation, evaluation, judgement, and mathematical analysis of categorized variable information and simplex-algorithm data associated with a current basis to decide which variables should be included in an updated basis. A person could observe the category information and current basis information, evaluated candidate variables using mathematical relationships, scores, or heuristics, exercise judgement as to which variables should be selected, and designate the resulting subset of variables as the current basis using pen and paper or basic computational tools such as a calculator.
The pricing model also does not integrate the exception into a practical application. The claim recites the pricing model as a tool to use to process mathematical LP/simplex data. The claim does not recite a new model architecture, a particular parameter-update technique, improved model operation, or improved computer operation. Rather, the model is used to process mathematical data and generate an updated mathematical basis.
Applicant’s arguments on page 14 relying on the 2024 Guidance Update have been considered but are not persuasive. The claims do not recite a particular technological solution to a technological problem. It recites a mathematical solution to a mathematical optimization problem. The claimed recurrent LP problems, categories, simplex-algorithm data, current basis, and updated basis are mathematical constructs used in the simplex algorithm.
Applicant’s arguments on page 15 relying on Example 48 and Ex parte Desjardins have been considered but are not persuasive. Desjardins is distinguishable. In Desjardins, the ARP identified claim language directed to adjusting machine-learning model parameters to optimize performance on a second task while protecting performance on a first task, and found that limitation reflected an improvement to how the machine learning model itself operates. Here, the claims do not improve how the pricing model itself operates. The pricing model is used to process LP/simplex data and select an updated basis in a mathematical optimization process. Thus, the alleged improvement is to the mathematical simplex process, not to the model itself.
Applicant’s arguments on page 16 relying on Enfish have been considered but are not persuasive. Enfish involved a specific self-referential database structure that improved computer functionality. The present claims do not recite a new computer data structure, memory organization, database architecture, or other software structure that improves computer operation. Instead, the claims recite mathematical LP data, category data, simplex-algorithm data, current basis data, and updated basis selection.
Accordingly, Applicant’s Step 2A, Prong Two arguments are not persuasive. Amended claim 1 uses mathematical LP/simplex data to generate additional mathematical LP/simplex data for solving a LP problem. The additional elements identified by Applicant amount to data gathering, data-content limitations, use of a pricing model as a tool, and instructions to apply the abstract mathematical optimization process in a computer-implemented LP solver environment. The claim therefore does not integrate the recited judicial exception into a practical application.
Applicant’s Step 2B arguments have been fully considered but at not persuasive. Applicant argues that claim 1 amounts to significantly more since the claim allegedly improves computer functionality, includes limitations that other than what is well-understood, routine, and conventional, and includes meaningful limitations beyond generally linking the judicial exception to a technological environment. However, as discussed above, the alleged improvement is to the mathematical LP/simplex optimization process itself, not to computer functionality.
The amended limitations directed to recurrent LP problems, structural similarities, categories based on past LP problems, category-based input, simplex-algorithm data associated with the current basis, and generating an updated basis recite mathematical LP/simplex data and mathematical basis selection operations. These limitations are part of the abstract idea itself and cannot provide the inventive concept.
The additional elements outside the abstract idea amount to obtaining data, reciting the content of the data, using a pricing model/machine learning model as a tool, an implementing the method in a computer-implemented LP solver environment. As set forth in the rejection, obtaining LP data or training data is generic data gathering, reciting the content of the data is insignificant extra-solution activity, and using a pricing model or machine learning model merely instructs applying the abstract idea using a generic model.
Applicant’s reliance on DDR, BASCOM, and Classen is not persuasive. DDR involved a specific modification to internet functionality, BASCOM involved a non-conventional and non-generic arrangement of computer components for filtering internet content, and Classen involved applying data comparison in a specific immunization process. Amended claim 1 does not recite comparable technological elements. Instead, amended claim 1 recites mathematical LP/simple data, a pricing model used as a tool, and selection of an updated basis.
The claims do not include meaningful limitations beyond generally linking the judicial exception to a computer-implemented LP solver environment. The pricing model is used to process mathematical solver data, but the claims do not recite an unconventional computer component, unconventional arrangement of computer components, or technological implementation that transform the abstract into patent-eligible subject matter.
Accordingly, Applicant’s Step 2B arguments are not persuasive. The additional elements, whether considered individually or as an ordered combination, do not amount to significantly more than the judicial exception. The claims recite mathematical LP/simplex operations, generic data gathering, data-content limitations, use of generic pricing/machine learning model, and insignificant post-solution or extra-solution activity. Therefore, the claims do not include an inventive concept sufficient to transform the abstract idea into patent-eligible subject matter under Step 2B.
For the reasons set forth above, claims 1-20 remain ineligible under 35 U.S.C. 101. Claim 1 is directed to abstract mathematical concepts and mental processes without integration into a practical application and without significantly more than the judicial exception. Claims 2-19 depend directly or indirectly from claim 1 and are ineligible for at least the same reasons. Independent claim 20 recites similar limitations in computer readable medium form and ineligible for similar reasons. Accordingly, the rejections of claims 1-20 under 35 U.S.C. 101 is maintained.
3. Applicant’s arguments filed on May 1, 2026 regarding the rejection under 35 U.S.C. 103 have been fully considered but are not persuasive.
Applicant’s arguments on page 19 of the Remarks that Huang and DeepSimplex do not disclose or suggest solving a LP problem in a recurrent series of LP problems of a predetermined type having structural similarities. This argument is not persuasive. Applicant reads the claim language too narrowly and requires the references to use the same terminology as the claim. Under the broadest reasonable interpretation, a “recurrent series of LP problems” includes a related sequence or family of LP problems. Huang teaches a new LP problem derived from a previously solved LP problem by small modifications, such as perturbing bounds or adding/dropping variables or constraints. DeepSimplex further teaches specialization to a distribution/family of LP instances and training on LP relaxations generated from the same TSP formulation. Accordingly, Huang in view of DeepSimplex teaches or suggests LP problems of a predetermined type having structural similarities, even though the references do not use the exact phrase “recurrent series.”
Applicant also argues on page 19 of the Remarks that Huang’s basic/non-basic labels do not teach categories based on past LP problems in the recurrent series. This argument is not persuasive. Under the broadest reasonable interpretation, a “category” includes classification or grouping of variables. Huang teaches classifying variables as basic or non-basic and assigning each variable a corresponding label, where “1” indicates a basic variable and “0” indicates a non-basic variable. Huang further teaches obtaining those labels by exactly solving the LP problem and using the variable type at optimality as the label. In view of Huang’s teaching of later LP problems derived from previously solved LP problems, Huang teaches or suggests categories for variables based on solved/past LP problems in a related recurrent series.
Applicant argues on page 20 of the Remarks that DeepSimplex does not disclose processing category data using a pricing model and that the cited DeepSimplex teachings do not mention category data. This argument is not persuasive. This rejection relies on the combined teachings of Huang and DeepSimplex, not DeepSimplex alone. Under the broadest reasonable interpretation, the claimed “category-based input” does not require the prior art to use the exact same words “category-based input” or “category data.” Huang supplies category-based variable information through variable-node features and labels indicating whether variables are basic or non-basic. DeepSimplex supplies the trained neural network based pricing/pivoting model and simplex-algorithm data associated with a current basis, including the basis matrix, reduced cost, right-hand side, reduced cost vector, and objective value. DeepSimplex further teaches using the neural network output to choose a pivoting rule and form a new basis. Thus, Huang in view of DeepSimplex teaches or suggests processing, using a pricing model, a category-based input based on category data and simplex-algorithm data associated with the current basis to generate an updated basis.
Applicant argues on page 21 of the Remarks that the combined teachings do not disclose or suggest processing related to category data as now defined in claim 1. This argument is not persuasive. Under the broadest reasonable interpretation, Huang’s basic/non-basic labels are categories for variables, and DeepSimplex’s reduced cost, objective value, basis matrix, and right-hand side are simplex-algorithm data associated with a current basis. Combining Huang’s category-based variable information with DeepSimplex’s neural network based simplex pricing/pivoting process would have predictably resulted in processing a category-based input based on category data and simplex-algorithm data associated with a current basis to generate an updated basis.
Applicant further argues on page 21 of the Remarks regarding claims 2-7, 9-13. 15-20, 8 and 14 have been considered but are not persuasive. Claims 2-7, 9-13, and 15-19 depend directly or indirectly from claim 1, and Applicant relies on the same arguments presented for claim 1. These claims remain rejected for the reasons set forth above with respect to claim 1 and for the additional reasonings provided in the rejection for the respective dependent limitations. Claim 20 recites limitations corresponding to claim 1 in computer-readable medium form and remains rejected for similar reasons. With respect to claim 8 and 14, Khalil is relied upon for the additional limitations of those claims, and Applicant has not provided separate arguments addressing the teachings of Khalil relied upon for the rejection. Accordingly, claim 8 and 14 remain rejected.
For at least the reasons set forth above, Applicant’s arguments do not overcome the rejection under 35 U.S.C. 103, and the rejection of claims 1-20 is maintained.
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., a law of nature, a natural phenomenon, or an abstract idea) without significantly more.
101 Subject Matter Eligibility Analysis
Step 1: Claims 1-20 are within the four statutory categories (a process, machine, manufacture or composition of matter).
Step 2A Prong One, Step 2A Prong Two, and Step 2B Analysis:
Step 2A Prong One asks if the claim recites a judicial exception (abstract idea, law of nature, or natural phenomenon). If the claim recites a judicial exception, analysis proceeds to Step 2A Prong Two, which asks if the claim recites additional elements that integrate the abstract idea into a practical application. If the claim does not integrate the judicial exception, analysis proceeds to Step 2B, which asks if the claim amounts to significantly more than the judicial exception. If the claim does not amount to significantly more than the judicial exception, the claim is not eligible subject matter under 35 U.S.C. 101.
None of the claims represent an improvement to technology.
Claims 1-19 are directed to a method consisting of a series of steps, meaning that it is directed to the statutory category of process. Claim 20 is directed to storage mediums which are machines.
Regarding claim 1, the following claim elements are abstract ideas:
to perform a pricing step of a simplex algorithm with respect to LP problems of the predetermined type (This is an abstract idea of a mental process and a mathematical concept. The pricing step involves scoring and selecting variables based on numerical values in order to improve an objective function, which is a mathematical calculation. A person could compare variable scores and choose which value to use using observation and judgement, which can be performed in the human mind or with basic tools such as pen and paper or a calculator. See MPEP 2106.04(a)(2)(I) and 2106.04(a)(2)(III).); and
solving the LP problem by: generating an initial basis comprising a subset of the plurality of variables, the initial basis being designated as a current basis (This is an abstract idea of a mental process and a mathematical concept. It involves selecting a subset of numerical variables to form an initial starting set for a mathematical optimization. A person could choose which numbers to start with by reviewing the variables and selecting a group using judgement or simple calculations, which can be performed in the human mind or with basic tools.);
performing one or more iterations of the simplex algorithm on the current basis (This is an abstract idea of a mental process and a mathematical concept. The simplex algorithm is a mathematical procedure for repeatedly calculating and updating numerical values to improve a linear objective function. A person could carry out these iterative calculations and comparisons step-by-step using arithmetic and logical rules with pen and paper or a calculator.),
applying the simplex algorithm to the current basis to generate a set of values for the plurality of variables (This is an abstract idea of a “mathematical concept” and a “mental process.” It involves calculating numerical values for variables using a mathematical algorithm. A person could perform these calculations and determine the resulting values in the human mind or with basic tools such as pen and paper or a calculator.);
generating a value of the objective function based on the set of values for the plurality of variables (This is an abstract idea of a “mental process.” It involves computing a numerical result by applying a formula to a set of numbers. A person could perform this calculation in the human mind or with basic tools such as pen and paper or a calculator.); and
performing the pricing step of the simplex algorithm by processing the category data… a category-based input based on the category data and simplex-algorithm data associated with the current basis to generate an updated basis comprising a subset of the plurality of variables, the updated basis being designated as the current basis (This is an abstract idea of a mental process and mathematical concept. The limitation involves observation, judgement, evaluation, and mathematical analysis of categorized variable information and simple-algorithm data associated with a current basis. The LP problem is defined by mathematical equations involving variables, an objective function, constraints, and a basis. The pricing step evaluates those mathematical relationships to decide which variable should be pivoted into or out of the basis and which subset of variables should form the updated basis. A person could observe the category information and current basis information, evaluate candidate variables using equations, scores, or heuristics, exercise judgement as to which variables should be selected, and designate the resulting subset of variables as the current basis using pen and paper or basic computational tools such as a calcualtor.).
The following claim elements are additional elements which, taken alone or in combination with the other elements, do not integrate the judicial exception into a practical application nor amount to significantly more than the judicial exception:
obtaining a linear programming (LP) problem definition defining a LP problem in a recurrent series of LP problems of a predetermined type, the recurrent series of LP problems of the predetermined type having structural similarities, the LP problem definition comprising: variable data specifying a plurality of variables; objective function data specifying an objective function of the plurality of variables; constraint data specifying a plurality of constraints, each constraint constraining a value of at least one of the plurality of variables; and category data specifying, for each variable of the plurality of variables, a respective category, the respective categories for the plurality of variables comprising categories based on past LP problems in the recurrent series of LP problems (The step of “obtaining” the LP problem definition is merely a generic data gathering operation, which has been recognized as a well-understood, routine, and conventional activity. See MPEP 2106.05(d)(II)(i).) Further, reciting what the obtained data consists of (variables, objective functions, constraints, and categories) merely describes the content of the data and amounts to insignificant extra-solution activity that does not meaningfully limit the judicial exception.);
using the pricing model (This limitation constitutes mere instructions to apply the abstract idea and insignificant extra-solution activity. See MPEP 2106.05(f) and 2106.05(g).)
Regarding claim 2, the rejection of claim 1 is incorporated herein. Further, claim 2 recites the following abstract ideas:
selecting one or more variables to be removed from the current basis to generate the updated basis (This is an abstract idea of a “mental process.” The limitation recites selecting which values to remove from a current set to form an updated set. This type of selection can be practically performed in the human mind using observation and judgement. For example, a person could review a list of variables, decide which ones should be removed based on their relative desirability, and identify those variables to form the updated set. Since it involves analysis and selection that can be carried out in the human mind, it falls within the mental process grouping of abstract ideas.).
Regarding claim 3, the rejection of claim 2 is incorporated herein. Further, claim 3 recites the following abstract ideas:
using the pricing model to identify a category to pivot out; and selecting the one or more variables from the identified category (This is an abstract idea of a mental process. The limitation recites identifying a category based on numerical or logical criteria and then selecting values from that category. This type of categorization and selection can be practically performed in the human mind by reviewing the categories and deciding which group and which values should be chosen.).
Regarding claim 4, the rejection of claim 2 is incorporated herein. Further, claim 4 recites the following abstract ideas:
for each variable of the current basis, a price score based at least in part on the category of the variable; and processing the price scores to select the one or more variables. (This is an abstract idea of a mental process. The limitation recites assigning numerical scores to values based on their categories and comparing those scores to decide which values should be selected. This type of scoring, comparison, and selection can be practically performed in the human mind through observation, reasoning, and judgement by reviewing the categories, assigning scores, and choosing the highest or lowest scoring values, using basic tools such as pen and paper.).
The following claim elements are additional elements which, taken alone or in combination with the other elements, do not integrate the judicial exception into a practical application nor amount to significantly more than the judicial exception:
the pricing model (This a high-level recitation of generic computer components for performing the abstract idea. See MPEP 2106.05(f).)
Regarding claim 5, the rejection of claim 1 is incorporated herein. Further, claim 5 recites the following abstract ideas:
select one or more variables of the plurality of variables for removal from the current basis; and select one or more variables of the plurality of variables for addition to the current basis (This is an abstract idea of a mental process. The limitation recites choosing which values should be removed from a current set and which values should be added to form a new set. This type of selection can be performed in the human mind through observation, reasoning, and judgement by reviewing the values and deciding which ones should be removed and which ones should be included.).
The following claim elements are additional elements which, taken alone or in combination with the other elements, do not integrate the judicial exception into a practical application nor amount to significantly more than the judicial exception:
processing the category data, using the pricing model, to (This limitation merely recites an instruction to apply the abstract idea to previously obtained data and does not provide any meaningful limitation. It simply directs generic processing of category data in conjunction with the judicial exception, which constitutes insignificant extra-solution activity.):
Regarding claim 6, the rejection of claim 5 is incorporated herein. Further, claim 6 recites the following abstract ideas:
to generate, for each variable of the current basis, a price score based at least in part on the category of the variable (This is an abstract idea of a mental process. The limitation recites assigning numerical scores to values based on their classification. This type of scoring can be practically performed in the human mind through observation, reasoning, and judgement by reviewing the categories and assigning a score to each variable.); and
select the one or more variables for removal from the current basis and select the one or more variables for addition to the current basis (This is an abstract idea of a mental process. The limitation recites choosing which values should be removed from the current set and which values should be added to form an updated set. This type of decision-making can be practically performed in the human mind through observation, reasoning, and judgement by reviewing the values and deciding which ones should be removed and which ones should be included.).
The following claim elements are additional elements which, taken alone or in combination with the other elements, do not integrate the judicial exception into a practical application nor amount to significantly more than the judicial exception:
using the pricing model to generate (This is mere instructions to apply the abstract idea using a generic model and does not add any meaningful limitation. It simply directs that the abstract idea be carried out with a pricing model, which constitutes an instruction to apply the judicial exception.)
processing the price scores to (This limitation merely recites applying the abstract idea to previously generated numerical values and does not add any meaningful limitation.)
Regarding claim 7, the rejection of claim 1 is incorporated herein. Further, claim 1 recites the following abstract ideas:
generating the initial basis as a custom basis based on a plurality of known optimal bases of LP problems in the recurrent series of LP problems of the predetermined type (This is an abstract idea of a mental process. The limitation recites reviewing prior solutions and selecting values for an initial set based on patterns observed in those prior solutions. This type of selection and comparison can be practically performed in the human mind through observation, reasoning, and judgement by examining previous results and choosing values that are likely to be effective.).
Regarding claim 8, the rejection of claim 7 is incorporated herein. Further, claim 8 recites the following abstract ideas:
selecting the variables of the subset based on a statistical distribution among the plurality of categories of variables of the plurality of known optimal bases (This is an abstract idea of a mental process and a mathematical concept. The limitation recites using statistical calculations to determine how many values to select from each category and selecting those values accordingly. This type of statistical analysis and selection can be practically performed in the human mind through observation, reasoning, and judgement by analyzing prior distributions and choosing values based on those distributions.).
Regarding claim 9, the rejection of claim 1 is incorporated herein. Further, claim 9 recites the following abstract ideas:
processing the LP problem definition…to generate the initial basis (This is an abstract idea of a mental process and a mathematical concept. The limitation recites analyzing mathematical relationships defined by variables, objective functions, and constraints of a linear programming problem to determine an initial set of values. This involves mathematical calculations and comparisons that can be performed in the human mind or with basic tools such as pen and paper or a calculator.)
The following claim elements are additional elements which, taken alone or in combination with the other elements, do not integrate the judicial exception into a practical application nor amount to significantly more than the judicial exception:
generating the initial basis as a custom basis by: obtaining a custom basis generation model, trained using machine learning to generate a custom basis for a LP problem of the predetermined type (This step of “obtaining” a custom based generation model is merely a generic data gathering operation, which has been recognized as a well-understood, routine, and conventional activity. See MPEP 21006.05(d)(II)(i). Further, reciting that the obtained model is “trained using machine learning” merely describes the type of tool used to apply the abstract idea and does not add any meaningful limitation. This amounts to an instruction to apply the judicial exception using a generic machine learning model and constitutes insignificant extra-solution activity.); and
using the custom basis generation model (This is mere instructions to apply the abstract idea using a generic model and does not add any meaningful limitation.)
Regarding claim 10, the rejection of claim 9 is incorporated herein. Further, claim 10 recites the following additional elements, which taken alone or in combination with other elements, do not integrate the judicial exception into a practical application nor amount to significantly more than the judicial exception:
obtaining custom basis training data comprising a plurality of data samples, each data sample comprising: constraint data for a respective LP problem in the recurrent series of LP problems of the predetermined type; and an optimal basis for the respective LP problem; and training the custom basis generation model using supervised learning by, for each data sample: using the LP problem definition as an input to the custom basis generation model; and using the optimal basis as a training label (The step of “obtaining” training data is merely a generic data gathering operation, which has been recognized as a well-understood, routine, and conventional activity. See MPEP 2106.05(d)(II). Further, reciting what the training data comprises merely describes the content of the data and amounts to insignificant extra-solution activity that does not meaningfully limit the judicial exception. See MPEP 2107.05(g). Additionally, “training…using supervised learning” by providing outputs and labels merely instructs applying the abstract idea using a generic machine learning technique and does not add any meaningful limitation. Using an LP problem definition as input and an optimal basis as a training label constitutes an instruction to apply the judicial exception. See MPEP 2106.05(f).).
Regarding claim 11, the rejection of claim 1 is incorporated herein. Further, claim 11 recites the following abstract ideas:
to perform the pricing step of the simplex algorithm in solving a plurality of LP problems in the recurrent series of LP problems of the predetermined type (This is an abstract idea of a mental process and a mathematical concept. The limitation recites performing mathematical optimization step that involves numerical values and selecting variables according to a mathematical algorithm. Such calculations and selections can be carried out in the human mind or with basic tools such as pen and paper or a calculator.); and
using a reward function based at least in part on a number of iterations of the simplex algorithm required to solve a given LP problem (This is an abstract idea of a mental process and a mathematical concept. The limitation recites counting iterations and applying a numerical function to evaluate performance. This involves mathematical calculations and comparisons that can be performed in the human mind or with basic tools such as pen and paper.).
The following claim elements are additional elements which, taken alone or in combination with the other elements, do not integrate the judicial exception into a practical application nor amount to significantly more than the judicial exception:
using the pricing model (This is mere instructions to apply the abstract idea using a generic model and does not add any meaningful limitation.)
Regarding claim 12, the rejection of claim 11 is incorporated herein. Further, claim 12 recites the following additional elements, which taken alone or in combination with other elements, do not integrate the judicial exception into a practical application nor amount to significantly more than the judicial exception:
wherein the reward function is also based at least in part on the objective function (This limitation merely recites using an additional mathematical result to evaluate performance and does not meaningfully limit the judicial exception. It represents an insignificant extra-solution activity that appends further mathematical evaluation to the abstract idea of model training.).
Regarding claim 13, the rejection of claim 1 is incorporated herein. Further, claim 13 recites the following additional elements, which taken alone or in combination with other elements, do not integrate the judicial exception into a practical application nor amount to significantly more than the judicial exception:
obtaining pricing training data comprising a plurality of data samples, each data sample comprising: a LP problem definition for a respective LP problem in the recurrent series of LP problems of the predetermined type; and a current basis of the respective LP problem; and training the pricing model using supervised learning by, for each data sample: using the LP problem definition and current basis as inputs to the pricing model; and using a training label comprising an estimated optimal updated basis (The step of “obtaining” pricing training data is merely a generic data gathering operation, which has been recognized as well-understood, routine, and conventional activity. See MPEP 2106.05(d)(II). Further, reciting what the training data comprises merely describes the content of the data and amounts to insignificant extra-solution activity that does not meaningfully limit the judicial exception. See MPEP 2106.05(g). Additionally, training the pricing model using supervised learning by providing inputs and labels merely instructs applying the abstract idea using generic machine learning techniques and does not add any meaningful limitation. Using the LP problem definition and current basis as inputs and an estimated optimal updated basis as a training label constitutes an instruction to apply the judicial exception. See MPEP 2106.05(f).).
Regarding claim 14, the rejection of claim 13 is incorporated herein. Further, claim 14 recites the following additional elements, which taken alone or in combination with other elements, do not integrate the judicial exception into a practical application nor amount to significantly more than the judicial exception:
wherein the estimated optimal updated basis is based on an expert opinion (This limitation merely specifies the source of the training label and does not meaningfully limit the judicial exception. Identifying that a label is based on an expert opinion constitutes insignificant extra-solution activity and does not add a technical feature or improve computer functionality. See MPEP 2106.05(g).).
Regarding claim 15, the rejection of claim 13 is incorporated herein. Further, claim 15 recites the following abstract ideas:
the estimated optimal updated basis is generated using a simplex pricing heuristic constrained by a known optimal basis for the respective LP problem (The limitation is direct to an abstract idea. Applying a simplex pricing heuristic involves mathematical calculations and optimization techniques, which constitute a mathematical concept that can be performed in the human mind or with basic tools such as pen and paper or a calculator. Further, constraining the heuristic using a known optimal basis merely describes post-solution evaluation and label derivation, which amounts to insignificant extra-solution activity that does not meaningfully limit the judicial exception.).
Regarding claim 16, the rejection of claim 1 is incorporated herein. Further, claim 16 recites the following additional elements, which taken alone or in combination with other elements, do not integrate the judicial exception into a practical application nor amount to significantly more than the judicial exception:
wherein the category of a given variable is based on a respective source of the variable (This limitation merely specifies an attribute of previously obtained data, namely that variables are associated with categories according to their source. Describing how data is labeled or organized does not meaningfully limit the judicial exception and amounts to insignificant extra-solution activity.).
Regarding claim 17, the rejection of claim 1 is incorporated herein. Further, claim 17 recites the following additional elements, which taken alone or in combination with other elements, do not integrate the judicial exception into a practical application nor amount to significantly more than the judicial exception:
wherein the category of a given variable is based on one or more constraints of the constraint data pertaining to the variable (This limitation merely specifies an attribute of previously obtained data, namely the variables are associated with categories according to related constrained information. Describing how data is labeled or organized based on an existing constraint does not meaningfully limit the judicial exception and amounts to insignificant extra-solution activity.).
Regarding claim 18, the rejection of claim 1 is incorporated herein. Further, claim recites the following abstract ideas:
determining that an optimization condition has been satisfied (This is an abstract idea of a mental process. The limitation recites evaluating a condition and deciding whether a stopping criterion has been met. This type of evaluation can be practically performed in the human mind through observation and judgement by reviewing results and determining whether further improvement is possible.); and
The following claim elements are additional elements which, taken alone or in combination with the other elements, do not integrate the judicial exception into a practical application nor amount to significantly more than the judicial exception:
outputting an optimal solution to the LP problem, comprising an optimal set of values for the plurality of variables corresponding to an optimal value of the objective function (This limitation merely recites outputting or presenting results of the abstract idea after the optimization has been performed. Outputting calculated results constitutes insignificant post-solution activity and does not meaningfully limit the judicial exception.).
Regarding claim 19, the rejection of claim 2 is incorporated herein. Further, claim 19 recites the following abstract ideas:
generating the initial basis as a custom basis based on a plurality of known optimal bases of LP problems in the recurrent series of LP problems of the predetermined type (This is an abstract idea of a mental process. This limitation recites reviewing prior solutions and selection values for an initial set based on mathematical relationships observed in those solutions. This involves comparing numerical patterns and making selection based on those comparisons, which can be practically be performed in the human mind through observation, reasoning, and judgement, or with basic tools such as pen and paper or a calculator.); and
determining that an optimization condition has been satisfied (This is an abstract idea of a “mental process.” The limitation recites evaluating a condition and deciding whether a stopping criterion has been met. This type of evaluation can be practically performed in the human mind through observation, reasoning, and judgement by reviewing results and determining whether further improvement is possible.); and
The following claim elements are additional elements which, taken alone or in combination with the other elements, do not integrate the judicial exception into a practical application nor amount to significantly more than the judicial exception:
outputting an optimal solution to the LP problem, comprising an optimal set of values for the plurality of variables corresponding to an optimal value of the objective function (This limitation merely recites presenting or transmitting the results of the abstract idea after the optimization has been performed. Outputting calculated results constitutes insignificant post-solution activity and does not meaningfully limit the judicial exception.).
Regarding claim 20, claim 20 recites method steps similar to those recited in claim 1, implemented in the form of a non-transitory computer-readable medium having instructions tangibly stored thereon that, when executed by a process system of a computing system, cause the computing system to perform the recited steps. Accordingly, the same subject matter analysis applied to claim 1, as described above, is equally applicable to claim 20, and claim 20 is rejected for similar reasons. The recited non-transitory computer-readable medium, computing system, and processing system merely constitute generic computer components for carrying out the recited method steps and do not amount to anything significantly more than the judicial exception.
Claim Rejections - 35 USC § 103
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 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.
Claims 1-7, 9-13 and 15-20 are rejected under the 35 U.S.C. 103 as being unpatentable over Huang et al., (NPL: “Simplex Initialization: A Survey of Techniques and Trends” (Published: 2021)). in view of Anonymous authors (NPL: “DeepSimplex: Reinforcement Learning Of Pivot Rules Improves the Efficiency (Published: 2020)).
Regarding claim 1, Huang discloses:
variable data specifying a plurality of variables (Huang, [section 2.1.1] “x Є
R
n
is the decision variable.” – discloses a decision variable vector x belonging to an n-dimensional space, which inherently represents a plurality of variables. Each component of vector x corresponds to a respective variable whose value is determined during solution of the linear programming problem.);
objective function data specifying an objective function of the plurality of variables (Huang, [section, 2.1.1] “
min
c
T
x
” – under BRI, objective function data defining a mathematical function to be optimized with respect to the plurality of variables . Hung discloses an objective function in the form of
min
c
T
x
, which defines an optimization objective based on the decision variable vector x. Because the objective function is expressed as a function of the plurality of variables contained in x, Huang discloses objective function data specifying an objective function of the plurality of variables.)
constraint data specifying a plurality of constraints, each constraint constraining a value of at least one of the plurality of variables (Huang, [section 2.1.1] “;
s
.
t
.
A
x
=
b
;
x
≥
0
” – under BRI, constraint data includes data defining mathematical restrictions that limit permissible values of variables in a linear programming problem. Huang discloses equality constraints
A
x
=
b
and bound constraints
x
≥
0
, which together constitute a plurality of constraints. Each constraint restricts the value of at least one component of the decision variable vector x, thereby specifying constraint data as claimed.); and
category data specifying, for each variable of the plurality of variables, a respective category, the respective categories for the plurality of variables comprising categories based on past LP problems in the recurrent series of LP problems (Huang, [section 5.1.2] “The main purpose of this subsection is to provide a classification mechanism based on a deep neural network, which can divide variables into basic variables and non-basic variables. The input of the neural network is the feature of each variable node, which can be obtained through graph embedding. The output is the probability that the corresponding variable should be selected as a basic variable… To train such a neural network, enough training data pairs are required. Each training data pair consists of the feature of a variable node and the label indicating whether its corresponding variable is a basic variable, i.e., the label is “1” if it is a basic variable, otherwise “0”… One approach to obtain the labels is to exactly solve the LP problem, then the type (basic/non-basic) of the variable when reaching the optimality can serve as its label.” [section 2.4] “In some applications, after the original LP problem was solved, a new LP problem, which is derived by making some small modifications to the original one (e.g., perturbing the bound of some variables, adding/dropping variables or constraints, etc.), is needed to be solved.” – Huang teaches category data because Huang classifies variables as basic or non-basic and assigns each variable with a corresponding label, where “1” indicates a basic variables and “0” indicates a non-basic variable. Under BRI, these labels specify a respective category for each variable. Huang further teaches that the labels are obtained by exactly solving the LP problem and using the variable type at optimality as the label. Huang also teaches a later LP problem derived from a previously solved LP problem. Accordingly, Huang teaches or suggests category data specifying, for each variable, a respective category based on past LP problems in the recurrent series of LP problems.);
solving the LP problem by: generating an initial basis comprising a subset of the plurality of variables, the initial basis being designated as a current basis (Huang, [section 3.1.1] “The initialization methods in different primal simplex algorithms can be classified into three types. The first type is to generate an initial point or basis. The second is to obtain an improved point or basis based on a given point or basis. Then the improved one is utilized as the starting point of the following steps. The third type is to accelerate the calculation process of the first two types. In the following subsections, methods belonging to these three types will be investigated, respectively… Though the two-phase method can guarantee a feasible basic solution or evidence of infeasibility at Phase I, it introduces extra artificial variables, thus increasing the dimension, as well as the complexity of the problem.” -under BRI, a basis is formed from a subset of the plurality of variables. The reference discloses generating an initial basis and using the generated basis as the starting point of the following steps, which corresponds to designating the initial basis as the current basis.); and
performing one or more iterations of the simplex algorithm on the current basis, each iteration comprising (Huang, [section 3.3.1] “The quick simplex method can also be implemented to accelerate the pivoting of Phase II in the basic simplex method, or other simplex initialization methods with a similar iterative process.” – under BRI, “performing one or more iterations” refers to repeatedly executing steps of the simplex algorithm on a current basis. The reference expressly discloses an iterative process of the simplex method, including pivoting operations performed in Phase II of the basic simplex method, which inherently operate on the current basis during each iteration.):
applying the simplex algorithm to the current basis to generate a set of values for the plurality of variables (Huang, [section 4.2.1] “Form an auxiliary problem with respect to the current basis and compute
x
-
B
=
-
A
B
-
1
∑
j
∈
J
A
… If
x
-
B
≥
0
… Apply dual simplex to compute the optimum of the original problem.” – under BRI, applying the simplex algorithm including performing iterations of a primal or dual simplex method to update a basis. The reference discloses forming an auxiliary problem with respect to the current basis and applying one iteration of the modified dual simplex method, followed by applying dual simplex to compute the optimum. Computing
x
-
B
and the resulting optimum inherently generates values for the decision variables corresponding to the basis, thereby generating a set of values for the plurality of variables.);
generating a value of the objective function based on the set of values for the plurality of variables (Huang, [section 3.2.2] “Divide these k selected variables into two sets based on whether a change in the variable will result in an increase or decrease in the objective function.” – under BRI, generating a value of the objective function includes evaluating how the objective function responds to particular values of the decision variables. The reference discloses determining whether changes in selected variables result in an increase or decrease in the objective function, which necessarily requires evaluating the objective function based on the values of the plurality of variables.); and
However, Huang does not teach but Huang in view of DeepSimplex teaches the following limitations:
A method comprising: obtaining a linear programming (LP) problem definition defining a LP problem in a recurrent series of LP problems of a predetermined type, the recurrent series of LP problems of the predetermined type having structural similarities, the LP problem definition comprising: (Huang, [page 3, section 2.1.2] “Given a general LP problem, it can be formulated into the primal/standard form as:
min
c
T
x
;
s
.
t
.
A
x
=
b
;
x
≥
0
,
where c…are problem-dependent parameters, and x Є
R
n
is the decision variable.” [section 2.4] “In some applications, after the original LP problem was solved, a new LP problem, which is derived by making some small modifications to the original one (e.g., perturbing the bound of some variables, adding/dropping variables or constraints, etc.), is needed to be solved. By starting from a point (a vertex for the simplex methods and an interior point for IPMs) yielded from the solving process of the original problem, it is expected that fewer steps/iterations are usually required to solve the new modified problem since the obtained start point could be very close to an optimal point.” DeepSimplex, [Introduction] “Our approach can be interpreted as instantiating the converse of the NFL theorem: any advances made in quality or speed must be due to the algorithm’s specialization to the distribution/family of instances it encounters… In particular, we learn new pivoting rule policies that combine existing hand-designed heuristics by training on large data sets of LP relaxations of randomly generated instances of the Traveling Salesman Problem (TSP).” – Huang teaches obtaining a LP problem definition by formulating a LP problem in standard form using decision variables, objective-function data, and constraint data. Huang further teaches solving a new LP problem derived from a previously solved LP problem by small modifications, such as perturbing bounds or modifying variables/constraints, and using information yielded from solving the original LP problem to reduce the number of steps/iterations required to solve the new modified LP problem. Under BRI, a related sequence or family of LP problems derived from prior LP problems and solved using prior solution information teaches or at least suggests LP problems in a recurrent series or family of LP problems having structural similarities. DeepSimplex further teaches training learned pivot-rule policies on a distribution/family of LP instances and on large data sets of LP relaxations generated from the same TSP formulation. Accordingly, Huang in view of DeepSimplex teaches or suggests obtaining a LP problem definition defining a LP problem in a recurrent series of LP problems of a predetermined type, the recurrent series having structural similarities.)
obtaining a pricing model trained, using machine learning, to perform a pricing step of a simplex algorithm with respect to LP problems of the predetermined type (DeepSimplex [section 4], “In each iteration in phase two of the simplex algorithm, we pass the reduced cost vector
c
-
and the objective value to a fully connected ReLU neural network to estimate the Q-Value which decreases as expected weighted distance rises. Based on the Q-Value estimations, we choose a pivoting rule and iterate the simplex algorithm. The algorithm continues to choose a pivoting rule in each step until the simplex algorithm reaches an optimal basic feasible solution.” – under BRI, the pricing step of the simplex algorithm involves evaluating reduced costs to determine which variable enters the basis. The reference (DeepSimplex) discloses providing the reduced cost vector to train a neural network and selecting a pivoting rule at each simplex iteration, which determines how the basis is updated. Accordingly, the neural network (trained pricing model) performs the pricing step of the simplex algorithm.);
performing the pricing step of the simplex algorithm by processing, using the pricing model, a category-based input based on the category data and simplex-algorithm data associated with the current basis to generate an updated basis comprising a subset of the plurality of variables, the updated basis being designated as the current basis (Huang, [section 5.1.2] “The main purpose of this subsection is to provide a classification mechanism based on a deep neural network, which can divide variables into basic variables and non-basic variables. The input of the neural network is the feature of each variable node, which can be obtained through graph embedding. The output is the probability that the corresponding variable should be selected as a basic variable… Each training data pair consists of the feature of a variable node and the label indicating whether its corresponding variable is a basic variable, i.e., the label is “1” if it is a basic variable, otherwise “0”.” DeepSimplex, [section 4] “Every basic feasible solution of the LP has its own basis matrix
B
, reduced cost
c
-
, and right-hand side
b
-
. In each iteration in phase two of the simplex algorithm, we pass the reduced cost vector
c
-
and the objective value to a fully connected ReLU neural network to estimate the Q-Value which decreases as expected weighted distance rises. Based on the Q-Value estimations, we choose a pivoting rule and iterate the simplex algorithm. The algorithm continues to choose a pivoting rule in each step until the simplex algorithm reaches an optimal basic feasible solution.” DeepSimplex, [section 3] “Form a new basis by replacing
A
B
(
l
)
with
A
j
.” – Huang teaches category-based input because Huang uses variable-node features and labels that classify variables as basic or non-basic. DeepSimplex teaches simplex-algorithm data associated with the current basis because each basic feasible solution has its own basis matrix, reduced cost, and right-hand side, and the reduced cost vector and objective value are provided to a trained neural network during each simplex iteration. DeepSimplex further teaches using the neural network output to choose a pivoting rule and form a new basis by replacing a basis variable. Under BRI, using Huang’s category-based variable information with DeepSimplex’s current simple-state information in the training neural network teaches processing, using the pricing model, a category-based input based on category data and simplex-algorithm data associated with the current basis to generate an updated basis. Accordingly, Huang in view of DeepSimplex teaches the claimed limitation.).
Accordingly, it would have been obvious to a person of ordinary skill in the art, before the effective filing date of the claimed invention, having Huang and DeepSimplex before them, to use a neural network trained using machine learning, as taught by DeepSimplex, to perform the pricing step of the simplex algorithm during the iterative LP solving process described by Huang. DeepSimplex teaches that, during each iteration of phase two of the simplex algorithm, reduced cost information and objective values associated with the current basis are provided to the neural network, and the neural network output is used to select a pivoting rule that determines which variables enter and leave the basis. One would have been motivated to make such a combination in order to use a neural network (AI) to assist the simplex algorithm at the pricing step by guiding pivot selection based on information associated with the current basis, rather than relying solely on predetermined rules. Using a trained neural network for pricing decisions would reduce computational overhead during repeated iterations of the simplex algorithm and improve overall solver efficiency, thereby enabling faster convergence toward an optimal solution.
Regarding claim 2, Huang in view of DeepSimplex teaches all the elements of claim 1, therefore is rejected for the same reasons as those presented for claim 1. Huang in view of DeepSimplex further teaches:
selecting one or more variables to be removed from the current basis to generate the updated basis (Huang, [page 8, section 3.1.1] “Select a column
j
with
(
A
B
-
1
A
N
)
i
j
≠
0
. Perform the pivoting with
x
j
as the entering variable and the basic artificial variable in the
i
-th row as the leaving variable.” – under BRI, a variable “removed from the current basis” corresponds to the leaving variable identified during the pivot operation of the simplex algorithm. The reference discloses selecting a specific basic variable as the leaving variable during pivoting, which removes that variable from the current basis and generates an updated basis from the subsequent iteration.).
Regarding claim 3, Huang in view of DeepSimplex teaches all the elements of claim 2, therefore is rejected for the same reasons as those presented for claim 2. Huang in view of DeepSimplex further teaches:
using the pricing model to identify a category to pivot out; and selecting the one or more variables from the identified category (Huang, [section 5.1.2] “Each training data pair consists of the feature of a variable node and the label indicating whether its corresponding variable is a basic variable, i.e., the label is “1” if it is a basic variable, otherwise “0”…The trained neural network can be used to select basic variables for LPs.” DeepSimplex [section 4] “Every basic feasible solution of the LP has its own basis matrix B, reduced cost
c
-
, and right-hand side
b
-
. In each iteration in phase two of the simplex algorithm, we pass the reduced cost vector
c
-
and the objective value to a fully connected ReLU neural network to estimate the Q-Value which decreases as expected weighted distance rises. Based on the Q-Value estimations, we choose a pivoting rule and iterate the simplex algorithm.” – under BRI, Huang provides explicit categories in form of labels assigned to variables and teaches selecting variables based on those labels. DeepSimplex provides the pricing model used during simplex iterations to guide pivoting decisions. Together, the disclose using a trained neural-network-based pricing model to identify a variable category (label) relevant to pivoting and selecting variables from that identified category during the simplex algorithm.).
Regarding claim 4, Huang in view of DeepSimplex teaches all the elements of claim 2, therefore is rejected for the same reasons as those presented for claim 2. Huang in view of DeepSimplex further teaches:
using the pricing model to generate, for each variable of the current basis, a price score based at least in part on the category of the variable; and processing the price scores to select the one or more variables (Huang, [section 5.1.2] “Each training data pair consists of the feature of
a variable node and the label indicating whether its corresponding variable is a basic variable…The trained neural network can be used to select basic variables for LPs.” DeepSimplex, [section 4] “In each iteration in phase two of the simplex algorithm, we pass the reduced cost vector
c
-
and the objective value to a fully connected ReLU neural network to estimate the Q-Value which decreases as expected weighted distance rises. Based on the Q-Value estimations, we choose a pivoting rule and iterate the simplex algorithm.” – under BRI, a “price score” corresponds to a numerical value generated by a pricing model to evaluate variables from selection during simplex algorithm. DeepSimplex discloses using a neural network to estimate Q-values from reduced cost information associated with variables in each simplex iteration. Huang further discloses that variables are associated with labels indicating their basis classification and that a trained neural network is used to select variables for linear programs. Together the references teach generating numerical evaluation values for variables based on their associated category information and processing those values to select one or more variables for updating the basis.).
Regarding claim 5, Huang in view of DeepSimplex teaches all the elements of claim 1, therefore is rejected for the same reasons as those presented for claim 1. Huang in view of DeepSimplex further teaches:
processing the category data (Huang, [section 5.1.2] “Each training data pair consists of the feature of a variable node and the label indicating whether its corresponding variable is a basic variable.”), using the pricing model (DeepSimplex, [section 4] “In each iteration in phase two of the simplex algorithm, we pass the reduced cost vector
c
-
and the objective value to a fully connected ReLU neural network to estimate the Q-Value which decreases as expected weighted distance rises. Based on the Q-Value estimations, we choose a pivoting rule and iterate the simplex algorithm.”), to: select one or more variables of the plurality of variables for removal from the current basis (Huang, [section 3.1.1] “Perform the pivoting with
x
j
as the entering variable and the basic artificial variable in the
i
-th row as the leaving variable.” – under BRI, a variable “removed from the current basis” corresponds to the leaving variable selected during the pivot operation of the simplex algorithm. The reference discloses selecting a basic variable as the leaving variable during pivoting, which removes that variable form the current basis to form an updated basis.); and
select one or more variables of the plurality of variables for addition to the current basis (Huang, [section 3.1.1] “Perform the pivoting with
x
j
as the entering variable and the basic artificial variable in the
i
-th row as the leaving variable.” – under BRI, selecting a variable “for addition to the current basis” corresponds to selecting an entering variable during a pivot operation of the simplex algorithm. The reference discloses performing pivoting with
x
j
as the entering variable, which adds
x
j
into the current basis to generate an updated basis for the next iteration.).
Regarding claim 6, Huang in view of DeepSimplex teaches all the elements of claim 5, therefore is rejected for the same reasons as those presented for claim 5. Huang in view of DeepSimplex further teaches:
using the pricing model to generate, for each variable of the current basis, a price score based at least in part on the category of the variable (DeepSimplex [section 4] ““In each iteration in phase two of the simplex algorithm, we pass the reduced cost vector
c
-
and the objective value to a fully connected ReLU neural network to estimate the Q-Value which decreases as expected weighted distance rises. Based on the Q-Value estimations, we choose a pivoting rule and iterate the simplex algorithm.” – under BRI, a “price score” corresponds to a numerical value generated by a pricing model to evaluate variables for selection during the simplex algorithm. DeepSimplex discloses using a neural network to estimate Q-values from reduced cost information associated with variables in each simplex iteration. These Q-values are processed to guide pivoting decisions, which determine which variables are selected for removal and addition based on numerical scores generated by a pricing model.); and
processing the price scores to select the one or more variables for removal from the current basis and select the one or more variables for addition to the current basis (DeepSimplex [section 4] “Based on the Q-Value estimations, we choose a pivoting rule and iterate the simplex algorithm. The algorithm continues to choose a pivoting rule in each step until the simplex algorithm reaches an optimal basic feasible solution.” Huang, [section 3.1.1] “Perform the pivoting with
x
j
as the entering variable and the basic artificial variable in the
i
-th row as the leaving variable.”- under BRI, processing price scores to make a pivoting decision constitutes selecting variables for basis update. DeepSimplex discloses processing pricing outputs (Q-value estimations) to choose a pivoting behavior. Accordingly, processing the pricing model outputs to determine pivoting selects one or more variables for removal from the current basis and selects one or more variables for addition to the current basis.).
Regarding claim 7, Huang in view of DeepSimplex teaches all the elements of claim 1, therefore is rejected for the same reasons as those presented for claim 1. Huang in view of DeepSimplex further teaches:
generating the initial basis as a custom basis based on a plurality of known optimal bases of LP problems in the recurrent series of LP problems of the predetermined type (Huang, [section 5.1.2] “The main purpose of this subsection is to provide a classification mechanism based on a deep neural network, which can divide variables into basic variables and non-basic variables. The input of the neural network is the feature of each variable node, which can be obtained through graph embedding. The output is the probability that the corresponding variable should be selected as a basic variable… To train such a neural network, enough training data pairs are required. Each training data pair consists of the feature of a variable node and the label indicating whether its corresponding variable is a basic variable, i.e., the label is “1” if it is a basic variable, otherwise “0”… One approach to obtain the labels is to exactly solve the LP problem, then the type (basic/non-basic) of the variable when reaching the optimality can serve as its label.” [section 2.4] “In some applications, after the original LP problem was solved, a new LP problem, which is derived by making some small modifications to the original one (e.g., perturbing the bound of some variables, adding/dropping variables or constraints, etc.), is needed to be solved.” – Huang teaches generating a custom basis by using a neural network that outputs probability that each variable should be selected as a basic variable. Huang further teaches training the neural network using labels obtained by exactly solving LP problems and using the basic/non-basic type of reach variable at optimality as the label. Under BRI, the set of variables labeled basic at optimality corresponds to a known optimal basis of a solved LP problem. Huang also teaches later LP problems derived from previously solved LP problems. Thus, Huang teaches or suggests generating an initial basis for a later LP problem based on optimal-basis information obtained from previously solved LP problems in the recurrent series. Accordingly, Huang teaches or suggests the claimed limitation.).
Regarding claim 9, Huang in view of DeepSimplex teaches all the elements of claim 1, therefore is rejected for the same reasons as those presented for claim 1. Huang in view of DeepSimplex further teaches:
generating the initial basis as a custom basis by: obtaining a custom basis generation model, trained using machine learning to generate a custom basis for a LP problem of the predetermined type; and processing the LP problem definition, using the custom basis generation model, to generate the initial basis (Huang, [section 5.1.2] “The main purpose of this subsection is to provide a classification mechanism based on a deep neural network, which can divide variables into basic variables and non-basic variables. The input of the neural network is the feature of each variable node, which can be obtained through graph embedding. The output is the probability that the corresponding variable should be selected as a basic variable.” – Huang teaches using a deep neural network, which is a machine learning model, to classify variables as basic or non-basic by processing features derived from the linear programming problem through graph embedding. Selecting which variables are designated as basic variables corresponds to generating an initial basis under the broadest reasonable interpretation. Because the basis is generated by a trained mode based on characteristics of the LP problem rather than the default basis, the resulting basis is a custom basis. Accordingly, Huang teaches generating an initial basis by processing the LP problem definition using a machine learning model, as recited.).
Regarding claim 10, Huang in view of DeepSimplex teaches all the elements of claim 9, therefore is rejected for the same reasons as those presented for claim 9. Huang in view of DeepSimplex further teaches:
obtaining custom basis training data comprising a plurality of data samples, each data sample comprising: constraint data for a respective LP problem in the recurrent series of LP problems of the predetermined type; and an optimal basis for the respective LP problem (Huang, [section 5.1.1] “Considering the standard form (P) of LP, the following bipartite graph (Figure 4) can be constructed. In the graph, one partition has n (variable) nodes, which represent the n variables to be optimized, and the other has m (constraint) nodes, which represent the m constraints in the standard form of LP. If a variable appears in a constraint, there will exist an edge between the corresponding variable node and constraint node, and the edge is weighted by the corresponding entries of the matrix A. The objective coefficients
{
c
1
,
…
,
c
n
}
, the right-hand side of the constraints
{
b
1
,
…
,
b
m
}
, and the non-zero entries of the matrix A can be utilized as scalar “features” of the variable nodes, the constraint nodes, and the edges, respectively.” [section 5.1.2] “To train such a neural network, enough training data pairs are required. Each training data pair consists of the feature of a variable node and the label indicating whether its corresponding variable is a basic variable, i.e., the label is “1” if it is a basic variable, otherwise “0”… One approach to obtain the labels is to exactly solve the LP problem, then the type (basic/non-basic) of the variable when reaching the optimality can serve as its label.” [section 2.4] “In some applications, after the original LP problem was solved, a new LP problem, which is derived by making some small modifications to the original one (e.g., perturbing the bound of some variables, adding/dropping variables or constraints, etc.), is needed to be solved.” – Huang teaches custom basis training data by teaching training data pairs for a neural network used to determine whether variables should be included in a basis. Huang teaches that the LP is represented using variable nodes and constraint nodes, with edges weighted by entries of matrix A, and that the right-hand side of the constraints and non-zero entries of matrix A are used as features. Under BRI, those features correspond to constraint data for the respective LP problem. Huang further teaches that each training data pair includes a label indicating whether the variable is basic or non-basic, and that the label is obtained by exactly solving the LP problem and using the variable type at optimality as the label. Under BRI, the variables labeled basic at optimality correspond to an optimal basis for the respective LP problem. Huang also teaches later LP problems derived from previously solved LP problems, as discussed with respect to claim 1. Accordingly, Huang teaches or suggests obtaining custom basis training data comprising a plurality of data samples, each including constraint data for a respective LP problem in the recurrent series and an optimal basis for the respective LP problem.)
training the custom basis generation model using supervised learning by, for each data sample: using the LP problem definition as an input to the custom basis generation model; and using the optimal basis as a training label (Huang, [section 5.1.2] “To train such a neural network, enough training data pairs are required. Each training data pair consists of the feature of a variable node and the label indicating whether its corresponding variable is a basic variable, i.e., the label is “1” if it is a basic variable, otherwise “0”. As we have mentioned before, the features can be obtained by graph embedding…One approach to obtain the labels is to exactly solve the LP problem, then the type (basic/non-basic) of the variable when reaching the optimality can serve as its label.” – teaches supervised learning by using training data pairs comprising inputs and corresponding labels. The features obtained by graph embedding of the LP problem correspond to using the LP problem definition as input to the model, and the labels indicating whether a variable is basic at optimality correspond to using the optimal basis as a training label. Accordingly, Huang teaches training the model using supervised learning by providing LP problem information as input and using the optimal basis as training labels, as recited.).
Regarding claim 11, Huang in view of DeepSimplex teaches all the elements of claim 1, therefore is rejected for the same reasons as those presented for claim 1. Huang in view of DeepSimplex further teaches:
wherein the pricing model is trained using reinforcement learning by: using the pricing model to perform the pricing step of the simplex algorithm in solving a plurality of LP problems in the recurrent series of LP problems of the predetermined type; and using a reward function based at least in part on a number of iterations of the simplex algorithm required to solve a given LP problem (DeepSimplex, [Abstract] “We use deep value-based reinforcement learning to learn a pivoting strategy that at each iteration chooses between two of the most popular pivot rules – Dantzig and steepest edge.” [Introduction] “In particular, we learn new pivoting rule policies that combine existing hand-designed heuristics by training on large data sets of LP relaxations of randomly generated instances of the Traveling Salesman Problem (TSP).” [section 4] “In each iteration in phase two of the simplex algorithm, we pass the reduced cost vector _c and the objective value to a fully connected ReLU neural network to estimate the Q-Value which decreases as expected weighted distance rises. Based on the Q-Value estimations, we choose a pivoting rule and iterate the simplex algorithm.” [section 5] “We construct 1000 instances where we use 800 of them for training and the remaining 200 for testing.” & “We minimize the total number of weighted simplex iterations.” & “Then the reward, denoted as
R
(
s
t
,
a
t
)
, at iteration
t
is…” – DeepSimplex teaches training a pricing model using reinforcement learning by teaching learned pivoting-rule policies trained on large data sets of LP relaxations of TSP instances. DeepSimplex further teaches using the model during phase two of the simplex algorithm by passing the reduced cost vector and objective value to a fully connected ReLU neural network, estimating Q-values, choosing a pivoting rule, and iterating the simplex algorithm. Under BRI, choosing a pivoting rule corresponds to performing the pricing step of the simplex algorithm. DeepSimplex also teaches training and testing on a plurality of LP instances and minimizing the total number of weighted simplex iterations using a reward function. Thus, the reward function is based at least in part on the number of simplex iterations used to solve the LP problem.).
Regarding claim 12, Huang in view of DeepSimplex teaches all the elements of claim 11, therefore is rejected for the same reasons as those presented for claim 11. Huang in view of DeepSimplex further teaches:
wherein the reward function is also based at least in part on the objective function (DeepSimplex, [section 5] “We denote
T
as the maximum number of unweighted iterations…
l
'
(
s
t
)
as the objective value before the action is performed,
l
'
(
s
t
,
a
t
)
as the objective after the action is performed,
l
*
as the optimal value. Then the reward, denoted as
R
(
s
t
,
a
t
)
,
at iteration
t
is:” – teaches defining the reward using objective values of the linear programming problem, including the objective value before an action is performed and the objective value after the action is performed. Accordingly, the reward function is based at least in part on the objective function, as recited.).
Regarding claim 13, Huang in view of DeepSimplex teaches all the elements of claim 1, therefore is rejected for the same reasons as those presented for claim 1. Huang in view of DeepSimplex further teaches:
wherein the pricing model is trained by: obtaining pricing training data comprising a plurality of data samples, each data sample comprising: a LP problem definition for a respective LP problem in the recurrent series of LP problems of the predetermined type; and a current basis of the respective LP problem; and training the pricing model using supervised learning by, for each data sample: using the LP problem definition and current basis as inputs to the pricing model; and using a training label comprising an estimated optimal updated basis (DeepSimplex, [section 3] “A general formulation of an LP is as follows: Minimize
c
⊺
x
subject to
A
x
=
b
;
x
≥
0
” [section 4] “Every basic feasible solution of the LP has its own basis matrix B, reduced cost c ̅, and right-hand side b ̅. In each iteration in phase two of the simplex algorithm, we pass the reduced cost vector c ̅ and the objective value to a fully connected ReLU neural network to estimate the Q-Value which decreases as expected weighted distance rises. Based on the Q-Value estimations, we choose a pivoting rule and iterate the simplex algorithm.” [section 5.1] “Unlike usual reinforcement learning (RL) applications, for the linear relaxations of five-city TSP instances, we can generate Q*-values by creating the extreme point graph of each LP instance where edges represent possible transitions using the Dantzig’s rule or the steepest edge rule. Since these graphs tell us how many weighted and unweighted iterations are needed to reach the optimal solution from any given current state/tableau/vertex and the action that leads to the optimal solution fastest, we can use these actions to recursively construct the Q*-values. “ & “For each LP instance, at each iteration of the simplex algorithm, a random choice of action is taken. The tableaux for that LP are stored and sorted into batches of the chosen batch size. Then the neural network is trained on this data set using supervised learning with Q*-values.” Huang, [section 5.1.2] “To train such a neural network, enough training data pairs are required. Each training data pair consists of the feature of a variable node and the label indicating whether its corresponding variable is a basic variable… One approach to obtain the labels is to exactly solve the LP problem, then the type (basic/non-basic) of the variable when reaching the optimality can serve as its label.” – DeepSimplex teaches pricing training data by storing tableaux for each LP instance at each simplex iteration and training the neural network on the data set using supervised learning with Q*-values. Each stored tableau is tied to a respective LP instance and current simplex state, and DeepSimplex teaches that each basic feasible solution has its own basis matrix, reduced cost, and right-hand side. Thus, the stored tableau/current state provides LP problem information and current-basis information for the pricing model. DeepSimplex further teaches estimating Q*-values and choosing a pivoting rule for the next simplex iteration. DeepSimplex teaches the Q*-values are constructed from the action that leads to the optimal solution fastest from a current state/tableau/vertex, and Huang teaches labels obtained by solving LP problems to optimality and using basic/non-basic type of optimality as a label. Accordingly, Huang in view of DeepSimplex teaches or suggests obtaining pricing training data including LP problem information and current-basis information, using that information as inputs to the pricing model, and using an optimal-basis-derived label corresponding to an estimated optimal updated basisall .).
It would have been obvious to a person of ordinary skill in the art to apply Huang’s optimal-basis labelling technique to the simplex-iteration training data of DeepSimplex in order to train the neural network using supervised learning, representing a predictable combination of known-solver-based training data with known-label generation techniques.
Regarding claim 15, Huang in view of DeepSimplex teaches all the elements of claim 13, therefore is rejected for the same reasons as those presented for claim 13. Huang in view of DeepSimplex further teaches:
the estimated optimal updated basis is generated using a simplex pricing heuristic constrained by a known optimal basis for the respective LP problem (DeepSimplex, [Introduction] “here we focus on learning pivot rules for the simplex algorithm for solving LP instances. In particular, we learn new pivoting rule policies that combine existing hand-designed heuristics by training on large data sets of LP relaxations of randomly generated instances of the Traveling Salesman Problem (TSP)… The resultant policy decides when to switch between the two rules based on the LP instance objective value and reduced costs at that time.” Huang, [section 5.1.2] “One approach to obtain the labels is to exactly solve the LP problem, then the type (basic/non-basic) of the variable when reaching the optimality can serve as its label.” – DeepSimplex teaches generating basis update decisions using simplex pivoting rules, which constitute pricing heuristics based on reduced cost and objective value. Huang teaches obtaining a known optimal basis for an LP problem by exactly solving the LP and identifying variables that are basic at optimality. When basis update decisions are learned or guided using such optimal-basis-derived labels, the resulting estimated update bases are constrained by the known optimal basis. Accordingly, the combined teachings disclose generating an estimated optimal updated basis using a simplex pricing heuristic constrained by a known optimal basis for the respective LP problem.).
Regarding claim 16, Huang in view of DeepSimplex teaches all the elements of claim 1, therefore is rejected for the same reasons as those presented for claim 1. Huang in view of DeepSimplex further teaches:
wherein the category of a given variable is based on a respective source of the variable (Huang, [section 5.1.1] “In the graph, one partition has
n
(variable) nodes, which represent the
n
variables to be optimized, and the other has
m
(constraint) nodes, which represent the
m
constraints in the standard form of LP. If a variable appears in a constraint, there will exist an edge between the corresponding variable node and constraint node, and the edge is weighted by the corresponding entries of the matrix
A
. The objective coefficients
{
c
1
,
…
,
c
n
}
, the right-hand side of the constraints
{
b
1
,
…
,
b
m
}
, and the non-zero entries of the matrix
A
can be utilized as scalar “features” of the variable nodes, the constraint nodes, and the edges, respectively.”- Huang teaches that each variable is represented as a variable node whose characteristics are derived from specific components of the LP formulation, including objective coefficients and constraint-related data. Under BRI, these components constitute respective sources of the variable. Categorizing variables based on features derived from these distinct sources therefore corresponds to categorizing a variable based on its respective source.).
Regarding claim 17, Huang in view of DeepSimplex teaches all the elements of claim 1, therefore is rejected for the same reasons as those presented for claim 1. Huang in view of DeepSimplex further teaches:
wherein the category of a given variable is based on one or more constraints of the constraint data pertaining to the variable (Huang, [section 5.1.2] “Each training data pair consists of the feature of a variable node and the label indicating whether its corresponding variable is a basic variable, i.e., the label is “1” if it is a basic variable, otherwise “0”…One approach to obtain the labels is to exactly solve the LP problem, then the type (basic/non-basic) of the variable when reaching the optimality can serve as its label.” – In linear programming, whether a variable is basic or non-basic is determined by constraint equations defining the LP solution. Huang teaches categorizing variables using labels that identify whether a variable is basic or non-basic at optimality. Under BRI, this categorization is based on how the variable participates in the constraint system of the LP problem.).
Regarding claim 18, Huang in view of DeepSimplex teaches all the elements of claim 1, therefore is rejected for the same reasons as those presented for claim 1. Huang in view DeepSimplex further teaches:
determining that an optimization condition has been satisfied; and outputting an optimal solution to the LP problem, comprising an optimal set of values for the plurality of variables corresponding to an optimal value of the objective function (DeepSimplex, [section 4] “The focus of this study is learning a pivoting rule for phase two of the simplex algorithm, where the algorithm starts from a basic feasible solution and finds a path to an optimal solution by traveling to a neighboring basic feasible solution in each iteration… Every basic feasible solution of the LP has its own basis matrix B, reduced cost c ̅, and right-hand side b ̅…” The algorithm continues to choose a pivoting rule in each step until the simplex algorithm reaches an optimal basic feasible solution.” – DeepSimplex teaches iteratively performing simplex operations until the algorithm reaches an “optimal basic feasible solution,” which corresponds to determining that an optimization condition has been satisfied. An optimal basic feasible solution inherently includes the corresponding matrix and associate variable values, which together define the optimal solution of the LP problem. Under BRI, producing this optimal basic feasible solution constitutes outputting an optimal set of values for the plurality of variables corresponding to an optimal value of the objective function.).
Regarding claim 19, Huang in view of DeepSimplex teaches all the elements of claim 2, therefore is rejected for the same reasons as those presented for claim 2. Huang in view of DeepSimplex further teaches:
generating the initial basis comprises: generating the initial basis as a custom basis based on a plurality of known optimal bases of LP problems in the recurrent series of LP problems of the predetermined type (Huang, [section 2.4] “In some applications, after the original LP problem was solved, a new LP problem, which is derived by making some small modifications to the original one (e.g., perturbing the bound of some variables, adding/dropping variables or constraints, etc.), is needed to be solved.” [section 5.1.2] “The main purpose of this subsection is to provide a classification mechanism based on a deep neural network, which can divide variables into basic variables and non-basic variables…The output is the probability that the corresponding variable should be selected as a basic variable… To train such a neural network, enough training data pairs are required. Each training data pair consists of the feature of a variable node and the label indicating whether its corresponding variable is a basic variable, i.e., the label is “1” if it is a basic variable, otherwise “0”… One approach to obtain the labels is to exactly solve the LP problem, then the type (basic/non-basic) of the variable when reaching the optimality can serve as its label.” – Huang teaches generating a custom basis by using a neural network that outputs probability that each variable should be selected as a basic variable. Huang teaches training the neural network using enough training data pairs, where each label identifies whether the corresponding variable is basic or non-basic. Huang further teaches obtaining those labels by exactly solving LP problems and using the variable type at optimality as a label. Under BRI, the variables labeled basic at optimality identify a known optimal basis for a solved problem. Huang also teaches or suggests generating the initial basis as a custom basis based on optimal-basis information from the plurality of solved LP problems in the recurrent series.);
determining that an optimization condition has been satisfied; and outputting an optimal solution to the LP problem, comprising an optimal set of values for the plurality of variables corresponding to an optimal value of the objective function (DeepSimplex, [section 4] “The focus of this study is learning a pivoting rule for phase two of the simplex algorithm, where the algorithm starts from a basic feasible solution and finds a path to an optimal solution by traveling to a neighboring basic feasible solution in each iteration… Every basic feasible solution of the LP has its own basis matrix B, reduced cost c ̅, and right-hand side b ̅…” The algorithm continues to choose a pivoting rule in each step until the simplex algorithm reaches an optimal basic feasible solution.” – DeepSimplex teaches iteratively performing simplex operations until the algorithm reaches an “optimal basic feasible solution,” which corresponds to determining that an optimization condition has been satisfied. An optimal basic feasible solution inherently includes the corresponding matrix and associate variable values, which together define the optimal solution of the LP problem. Under BRI, producing this optimal basic feasible solution constitutes outputting an optimal set of values for the plurality of variables corresponding to an optimal value of the objective function.).
Regarding claim 20, the claim recites similar limitations corresponding to the method of claim 1 and is rejected for similar reasons using the same teachings and rationale discussed above with respect to claim 1. With respect to the additional limitation reciting “a non-transitory computer-readable medium having instructions tangibly stored thereon that, when executed by a processing system of a computing system, cause the computing system to,” this limitation is inherent, as the cited references disclose computer-implemented linear programming solvers and machine-learning-assisted optimization techniques executed by a processing system, which necessarily require executable instructions stored on a non-transitory computer-readable medium in order to perform the disclosed operations.
Claim 8 and 14 are rejected under the 35 U.S.C. 103 as being unpatentable over Huang et al., (NPL: “Simplex Initialization: A Survey of Techniques and Trends” (Published: 2021)). in view of Anonymous authors (NPL: “DeepSimplex: Reinforcement Learning Of Pivot Rules Improves the Efficiency (Published: 2020)) further in view of Khalil et al., (NPL: “MIP-GNN: A Data-Driven Framework for Guiding Combinatorial Solvers” (Published: June 28, 2022 )).
Regarding claim 8, Huang in view of DeepSimplex teaches all the elements of claim 7, therefore is rejected for the same reasons as those presented for claim 7. Huang in view of DeepSimplex does not teach but Huang in view of DeepSimplex further in view of Khalil teaches the following limitation:
selecting the variables of the subset based on a statistical distribution among the plurality of categories of variables of the plurality of known optimal bases (Khalil, [pages 10223 and 10224] “the main data collection step is to estimate the variable biases…we must collect a set of high-quality feasible solutions…we let CPLEX spend 60 minutes in total to construct this solution pool for each instance… The variable biases are calculated according to Eq. (2).” – Under BRI, a statistical distribution includes numerical values derived from analyzing a plurality of solutions. The reference explicitly discloses collecting a solution pool of up to 1000 feasible solutions and calculating variable biases from these solutions. Because these biases are computed across many solutions, they represent a statistical distribution describing how variables behave across a plurality of known high-quality solutions. Selecting variables based on these bias values therefore corresponds to selecting a subset of variables based on a statistical distribution among categories of variables derived from known optimal or near-optimal biases.).
Accordingly, it would have been obvious to a person of ordinary skill in the art, before the effective filing date of the claimed invention, having a combination of Huang, DeepSimplex, and Khalil before them, to incorporate the use of statistical information derived from prior solution biases, as taught by Khalil, into the AI-assisted linear programming solver of Huang and DeepSimplex. One would have been motivated to make such a combination in order to improve efficiency of the simplex method by leveraging information learned from a plurality of known optimal or near-optimal solutions when generating a custom initial basis and performing variable selection during the pricing step. This would allow more efficient convergence of the linear programming solver by reducing unnecessary pivot operations and guiding variable selection using historical solution behavior.
Regarding claim 14, Huang in view of DeepSimplex teaches all the elements of claim 13, therefore is rejected for the same reasons as those presented for claim 13. Huang in view of DeepSimplex does not teach but Huang in view of DeepSimplex further in view of Khalil teaches:
optimal updated basis is based on an expert opinion (Khalil, [page 10225] “as CPLEX has been developed and tuned over three decades by MIP experts, i.e., it can be considered a very sophisticated human-learned solver” – Khalil teaches using solver outputs generated by CPLEX, whose optimization behavior is derived from expert-developed heuristics created by IBM experts. Under the broadest reasonable interpretation, optimization decisions and labels derived from such expert-developed solver behavior correspond to estimates based on expert opinion. Accordingly, Khalil teaches the estimated optimization decisions, including basis-related updates, may be based on expert opinion.).
Conclusion
Applicant's amendment necessitated the new ground(s) of rejection presented in this Office action. Accordingly, THIS ACTION IS MADE FINAL. See MPEP § 706.07(a). 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 Daravanh Phakousonh whose telephone number is (571)272-6324. The examiner can normally be reached Mon - Thurs 7 AM - 5 PM, Every other Friday 7 AM - 4PM.
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, Li B Zhen can be reached at 571-272-3768. 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.
/Daravanh Phakousonh/Examiner, Art Unit 2121
/Li B. Zhen/Supervisory Patent Examiner, Art Unit 2121