WO2017135322A1 - 最適化システム、最適化方法、及び、記録媒体 - Google Patents
最適化システム、最適化方法、及び、記録媒体 Download PDFInfo
- Publication number
- WO2017135322A1 WO2017135322A1 PCT/JP2017/003664 JP2017003664W WO2017135322A1 WO 2017135322 A1 WO2017135322 A1 WO 2017135322A1 JP 2017003664 W JP2017003664 W JP 2017003664W WO 2017135322 A1 WO2017135322 A1 WO 2017135322A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- model
- price
- sales
- optimization
- parameter
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/04—Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/01—Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N7/00—Computing arrangements based on specific mathematical models
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0201—Market modelling; Market analysis; Collecting market data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0201—Market modelling; Market analysis; Collecting market data
- G06Q30/0206—Price or cost determination based on market factors
Definitions
- the present invention relates to information processing, and more particularly to an information processing apparatus, information processing method, and recording medium related to calculation of information (data) that satisfies a predetermined condition.
- information processing devices or information that provide users with optimal information for example, the amount of material input in a plant, the amount of operation in an operating device, or the set price of a product
- a processing system is used.
- an information processing apparatus or an information processing system that provides information (for example, a determination index) for a user to make a final selection is used.
- the electric power company In the control of a power generation system including a plurality of power plants, the electric power company needs to determine the power generation amount of each power plant satisfying a predetermined condition (for example, satisfying the total demand power while minimizing the cost). It is. Therefore, for example, the power company creates an optimization model that models a power generation system based on demand prediction (prediction of total demand power). Then, the electric power company calculates an optimal solution (power generation amount) in the optimization model using a predetermined device or system in order to determine an optimal power generation amount (optimum solution).
- a predetermined condition for example, satisfying the total demand power while minimizing the cost. It is. Therefore, for example, the power company creates an optimization model that models a power generation system based on demand prediction (prediction of total demand power). Then, the electric power company calculates an optimal solution (power generation amount) in the optimization model using a predetermined device or system in order to determine an optimal power generation amount (optimum solution).
- the purchasing department of a company needs to determine the purchase amount (optimum solution) of the material that maximizes profit (minimizes the purchase cost) while satisfying the production plan etc. in the purchase of material in production activities It is. Therefore, the purchasing department creates an optimization model that models the purchase amount based on demand prediction (for example, prediction of the amount of necessary materials). Then, in order to determine the purchase amount, the purchase department calculates an optimum solution (purchase amount) in the created optimization model using a predetermined device or system.
- the optimization model includes an “objective function” indicating a specific optimization purpose and a “constraint” that is a condition for calculating an optimal solution.
- the “objective function” is expressed as a function of “objective variable”.
- the “objective variable” is a target for optimization.
- the above-described software or device optimizes the value of the “object variable” so that the value of the objective function is optimal (for example, maximum or minimum) while satisfying the constraints.
- the optimized value of the objective variable is hereinafter referred to as “optimal solution”.
- the optimum solution is a future value. Therefore, the objective function includes a prediction model expressed using predetermined variables and parameters.
- the prediction model is a model indicating the relationship between a variable that is a prediction target (hereinafter referred to as “explained variable”) and a variable that can affect the prediction target (hereinafter referred to as “explanatory variable”).
- the explained variable is expressed as a function using the explanatory variable in the prediction model.
- variable As described above, the term “explained variable” is used for the variable that is the prediction target in the prediction.
- object variable is used for the variable to be optimized in the optimization process.
- prediction model is created based on, for example, machine learning using past explanatory variables and explained variables.
- regression analysis As a general method for generating a prediction model, for example, there is “regression analysis”.
- the information processing apparatus calculates the value (optimum solution) of the objective variable that optimizes (for example, maximizes) the objective function as the optimum solution of the optimization model.
- the explanatory variables in the prediction model may become an objective variable (variable to be optimized) in the optimization model. This point will be described later using a specific example of price optimization.
- the target variable has a limited range of possible values.
- the power generation amount at the above power plant has an upper limit.
- Such a restriction is an example of a “constraint”.
- the constraint may include other conditions.
- the information processing apparatus calculates an optimal solution that maximizes the value of the objective function within a range that satisfies a predetermined constraint.
- the optimization model used as an optimization target by the information processing apparatus that calculates the optimal solution is a model including an objective function and constraints.
- the optimization model is processed in the information processing apparatus, generally, the above-described objective function and constraints can be handled by the information processing apparatus (usually, a mathematical expression expressed using variables). It is expressed using
- the information processing apparatus calculates the value of the objective variable that sets the value of the objective function as the optimal value (maximum value or minimum value) as the optimal solution under the constraints included in the optimization model.
- the optimization model is called “linear optimization model”.
- the optimization model is called a “secondary optimization model”.
- the price of the product is a value that can be set by the seller of the product.
- the sales amount is a value that cannot be determined by the seller, and is a future value as viewed from the time when the optimization process is executed.
- a prediction model is set using machine learning.
- the sales amount of a product is affected by the price of the product. Therefore, the sales amount of the product is an explained variable in the prediction model for predicting the sales amount of the product.
- the price of the product is an explanatory variable in the prediction model. That is, the sales amount of the product, which is the explained variable, is expressed as a function of the price of the product in the prediction model.
- the explained variable is a linear function of the price of the product, or a quadratic or higher function. That is, the explained variable is at least a linear function of the price of the product (explanatory variable).
- Total sales (objective function) is the product of “explanatory variable (product price)” and “explained variable (sales amount affected by product price)”. As described above, the explained variable is expressed using a function of the explanatory variable (the price of the product). Therefore, the total sales (objective function) is at least a quadratic function of the product price (explanatory variable).
- the price of the product is an objective variable in the optimization model. That is, the total sales (objective function) is expressed using at least a quadratic function of the objective variable (product price).
- the secondary optimization model is used as the optimization model.
- the constraint is, for example, the amount of goods in stock.
- the explanatory variable (product price) in the prediction model can be the objective variable (product price) in the optimization model, that is, the variable to be optimized.
- the price of a product behaves as an explanatory variable in the learning process and the prediction process, and behaves as an objective variable in the optimization process.
- the optimization model includes one or more parameters in a mathematical expression representing the optimization model.
- the parameter is a value determined based on past observation data.
- the observation data is data including errors in measurement.
- the calculation target of the optimization model is a future value (optimum solution) that has not yet been determined. In other words, the optimal solution may be calculated in a situation different from when past data was generated. Therefore, the parameters included in the optimization model include uncertainty.
- the method for calculating the optimal solution in the optimization model that is generally widely used does not consider the uncertainty in the parameters. For this reason, the optimal solution calculated using a general optimization model may not be optimal when actually applied.
- the optimization model includes parameters.
- the parameter includes uncertainty. Therefore, the parameter value when the optimum solution value is actually applied may be different from the parameter value used to calculate the optimum solution. In this case, there is a possibility that the calculated optimal solution is not the optimal solution when actually applied.
- the robust optimization model sets a predetermined uncertainty range (for example, an elliptical region in the parameter space) for the parameter. Then, the information processing apparatus that calculates the optimal solution in the robust optimization model calculates the optimal solution in the range of the uncertainty.
- the uncertainties regarding the above parameters are also referred to as “prediction error” or “parameter fluctuation”.
- the optimal solution calculated using the robust optimization model can guarantee the good solution at the time of application .
- the optimization model obtained by applying the robust optimization model to the above linear optimization model is called a robust linear optimization model.
- An optimization model in which a robust optimization model is applied to a secondary optimization model is called a robust secondary optimization model.
- the range of uncertainty determined using parameters defines the expected fluctuation range of prediction when the calculated optimal solution is used.
- the range of uncertainty should be narrow.
- the possibility (risk) of receiving an unexpected disadvantage increases.
- a user who decides the price of a product considers the relationship between the size of the risk (prediction error range) that is not used to calculate the optimal solution and the product price (optimum solution), and the product price (optimum solution) Wants to decide.
- an information processing device that calculates a general optimal solution has a product price that maximizes the above total sales in correspondence with the magnitude of risk (prediction error range) that is not used in calculating the optimal solution.
- the optimal solution is not output.
- Non-Patent Document 1 is a technique related to the calculation of a robust optimal solution model, and does not disclose the contents related to the correspondence between the risk that can be applied to the price optimization as described above and the optimal solution. .
- Non-Patent Document 1 has a problem in that the optimal solution cannot be output in relation to the magnitude of risk (prediction error range) that is not used for calculating the optimal solution in price optimization.
- An object of the present invention is to solve the above-mentioned problems and output an optimal solution for a price that optimizes sales in relation to the magnitude of risk (prediction error range) that is not used in calculating the optimal solution.
- An apparatus, an information processing method, and a recording medium are provided.
- the prediction formula for predicting the number of sales of a certain product is represented by a function of the price of the product
- the prediction value of the sales number calculated based on the prediction formula Sales of the objective function that receives the input of the index that indicates the range of the forecast error and the objective function that calculates the sales determined by including the number of sales and the price.
- Optimization means for optimizing the price so as to maximize the value and the optimization means receives the forecast value and increases the minimum value of the sales within the forecast error range indicated by the indicator. Optimize price.
- the prediction value of the sales number calculated based on the prediction formula is as follows: Accepts input of an index that indicates the range of forecast error stochastically, and the objective function that calculates sales that includes the number of sales and the price, the sales that can be obtained by the objective function is maximized under the constraints. Further, the price is optimized, and the predicted value is input, and the price is optimized so as to increase the minimum value of the sales within the range of the prediction error indicated by the index.
- the prediction formula for predicting the number of sales of a certain product when expressed as a function of the price of the product, the predicted value of the sales number calculated based on the prediction formula
- the objective function that obtains the sales that includes the number of sales and the price, and the processing that accepts the input of the index that stochastically indicates the range of the forecast error For the objective function that obtains the sales that includes the number of sales and the price, and the processing that accepts the input of the index that stochastically indicates the range of the forecast error, The process of optimizing the price to maximize, and the process of optimizing the price to increase the minimum value of the sales within the forecast error range indicated by the indicator, A program to be executed by the computer is recorded so as to be readable by the computer.
- an optimal solution of a price that optimizes sales is output in relation to a risk (prediction error range) that is not used for calculating an optimal solution.
- FIG. 1 is a block diagram showing an example of the configuration of the information processing apparatus according to the first embodiment of the present invention.
- FIG. 2 is a flowchart showing an example of the operation of the information processing apparatus according to the first embodiment.
- FIG. 3 is a block diagram illustrating a configuration of an information processing apparatus which is an example of a hardware configuration according to the first embodiment.
- FIG. 4 is a block diagram illustrating an example of the configuration of the information processing apparatus according to the second embodiment.
- FIG. 5 is a block diagram illustrating an example of a configuration of a model creation unit according to the second embodiment.
- FIG. 6 is a flowchart illustrating an example of the operation of the model creation unit according to the second embodiment.
- FIG. 1 is a block diagram showing an example of the configuration of the information processing apparatus according to the first embodiment of the present invention.
- FIG. 2 is a flowchart showing an example of the operation of the information processing apparatus according to the first embodiment.
- FIG. 3 is a block diagram illustrating a configuration of
- FIG. 7 is a block diagram illustrating an example of the configuration of the information processing apparatus according to the third embodiment.
- FIG. 8 is a diagram illustrating a first display example in the output unit according to the third embodiment.
- FIG. 9 is a diagram illustrating a second display example in the output unit according to the third embodiment.
- FIG. 10 is a diagram illustrating a relationship between a model and data according to the first embodiment.
- the information processing apparatus 100 uses an optimization model (robust optimization model) in consideration of parameter variation as an optimization model, and calculates an optimal solution in the optimization model. That is, the information processing apparatus 100 calculates an optimal solution in consideration of the uncertainty range (prediction error or variation) in one or more parameters in the optimization model.
- an optimization model robust optimization model
- the information processing apparatus 100 calculates an optimal solution in consideration of the uncertainty range (prediction error or variation) in one or more parameters in the optimization model.
- the “prediction model” is a model that calculates a predicted value of predetermined data based on predetermined data (prediction data).
- predetermined data predetermined data
- the prediction model for predicting the sales amount of a product is a model for predicting the sales amount from the product price.
- the prediction model is expressed using a mathematical formula (prediction formula) such as a function.
- prediction model is created based on machine learning using learning data, for example.
- Explanation variables are variables used as inputs in the prediction model. For example, when the prediction model is expressed using a function, the explanatory variable becomes an argument of the function. An explanatory variable is also called an independent variable.
- the explained variable is a variable determined based on the explanatory variable in the prediction model. That is, the explained variable is a value calculated by applying the explanatory variable to the prediction model.
- the prediction model for calculating the explained variable may include the explained variable in a mathematical expression included in the model. When the explained variable is expressed as a function of the explanatory variable (and the explained variable), the function corresponds to a prediction model.
- the explained variable is also called a dependent variable or a response variable.
- the product price is an explanatory variable.
- the sales amount is an explained variable.
- the commodity price which is an explanatory variable, is an operable variable.
- the “optimization model” is a predetermined variable value (optimal solution) that makes a predetermined function an optimal value (maximum value or minimum value) based on predetermined data (optimum solution calculation data) and conditions. This is a model to be calculated.
- the optimization model is generally expressed as a mathematical formula.
- the optimization model includes one or more parameters as a mathematical expression.
- An optimization model is also called an optimization problem.
- the optimization model according to the present embodiment includes the above prediction model.
- the “objective function” is a function that represents a value (for example, a maximum value or a minimum value) that is an object of optimization in the optimization model.
- the objective function may include a prediction model therein.
- the objective function is a function whose value is determined directly or indirectly based on the explanatory variable and / or the explained variable in the prediction model.
- the objective function is also called an evaluation function.
- An objective variable is a variable that is an optimal solution calculated to make an objective function an optimal value in an optimization model. Therefore, the optimization model is represented as a function including an objective variable.
- the objective variable in the optimization model includes at least a part of the explanatory variables in the prediction model included in the optimization model.
- “Restriction” is a restriction condition in calculating an optimal solution in an optimization model.
- the constraints may include the variations described below.
- the restrictions are set based on, for example, user designation. Alternatively, the constraint is data held in advance.
- “Fluctuation” is a range of values in which the parameters included in the optimization model change based on their uncertainty (range of uncertainty). Therefore, the range of “variation” is a range of “uncertainty” of parameters.
- the optimal solution is a value calculated based on prediction using parameters. Therefore, “variation” is also called “prediction error”.
- the optimization model includes a prediction model for predicting the sales amount from the product price. Then, it is assumed that the optimization model calculates the optimal solution for the product price that optimizes the total sales, which is the sum of products of the product price and the sales amount.
- the information processing apparatus 100 receives an optimization model parameter or parameter variation, and calculates a product price (optimum solution) that maximizes the total sales.
- the function that represents the total sales is the objective function.
- the product price that is the target of the optimal solution is the objective variable.
- the restriction is, for example, the number of items in stock.
- the product price is an explanatory variable of the prediction model.
- the sales amount is an explained variable of the prediction model.
- the product price is an explanatory variable in the prediction model and an objective variable in the optimization model.
- a variable in one model may be a different variable in another model.
- an optimum solution of an objective variable having an objective function in the optimization model as an optimum value is calculated within a range that satisfies the constraints.
- the optimum value is the maximum value of the objective function.
- FIG. 10 is a diagram showing the relationship between the above model and data.
- the prediction model is calculated using machine learning using learning data.
- the restriction is set based on an input operation from a user or the like.
- the optimization model is set as a model including a prediction model and constraints. Then, the optimization engine that calculates the optimal solution calculates the optimal solution in the optimization model using the optimization data.
- the optimization engine may calculate other values (for example, the value of the objective function) in addition to the optimal solution.
- Each embodiment of the present invention includes at least a configuration that operates as an optimization engine.
- matrix and vector elements used as variables in mathematical expressions are real numbers.
- the vector is a column vector.
- a vector or matrix may be a scalar as a result of calculation.
- the vector or matrix includes the case where the number of elements is one.
- the product of the vector and the matrix in the following description includes the case of the product of the scalar.
- the vector “x” is a vector indicating an explanatory variable in the prediction model.
- the vector “y” is a vector indicating the explained variable in the prediction model. That is, the vector y that is the explained variable is a variable that is calculated by applying the vector x that is the explaining variable to a predetermined prediction model (prediction formula).
- the explained variable can be expressed as a function of the explanatory variable.
- the objective function that is the object of optimization may be an explained variable in the prediction model. Therefore, the optimization model may not explicitly include the explained variable.
- the number of elements of the vector x is “l (l is a positive integer)”.
- the number of elements of the vector y is “m (m is a positive integer)”.
- the superscript “T” indicates transposition of the matrix.
- T is a conversion between a column vector and a row vector. That is, the basis function g (x) is a column vector.
- each embodiment calculates a vector x or a basis function g (x) with the objective function of the optimization model as an optimal value (maximum value or minimum value). Therefore, the vector x or the basis function g (x) is an objective variable in the optimization model.
- the first expression is an expression representing an optimization target (that is, an objective function). Note that “c 0 T x” in the first expression corresponds to the prediction model.
- the second expression is an expression representing a constraint.
- the inequality sign ( ⁇ ) in the second expression indicates that each element of the vector that is the result of Ax is less than or equal to each element of the vector b.
- the vector x is a vector of explanatory variables in the prediction model.
- the vector “c 0 ” is a column vector set in advance and indicates the relationship between the vector x and the objective function.
- the objective function does not explicitly include the explained variable (vector y).
- the explained variable (vector y) is specifically a scalar.
- the first equation (objective function) of Equation 2 specifically calculates the vector x that maximizes the sum of the products of the elements of the vector x and the vector c 0 that are explanatory variables of the prediction model. Show.
- the vector x is a vector having the number of purchased products as an element.
- the vector c 0 is a vector having the price of each product as an element.
- the first formula (objective function) of Formula 2 indicates that “the number of purchases (vector x)” that maximizes the total sales is calculated.
- the second equation representing the constraint indicates the relationship (magnitude relationship) between the vector element on the left side and the vector element on the right side.
- the vector “b” is a vector indicating a constraint value.
- the matrix A is a matrix indicating the relationship between the explanatory variable (vector x) and the constraint value (vector b).
- the vector b and the matrix A are information (variables) given in advance.
- the explanatory variable (vector x) is an objective variable of the optimization model. Therefore, the constraint is also a constraint on the objective variable.
- the matrix A is a diagonal matrix whose diagonal element value is “1”.
- the explanatory variable vector x is the number of purchases of each product.
- the vector b in the second equation is, for example, the quantity that can be purchased for each product.
- Equation 2 the optimization model shown in Equation 2 is a model that is guaranteed to calculate the optimal solution.
- Equation 3 uses a basis function g (x) instead of the vector x as an explanatory variable of the prediction model.
- Formula 3 is a quadratic formula of the basis function g (x) that is an explanatory variable. Equation 3 is expressed using a matrix Q 0 instead of the vector c 0 in Equation 2.
- the matrix Q 0 is a preset matrix.
- the number of elements of the matrix Q 0 is set according to the basis function g (x). For example, it is set to realize the following objective function.
- the vector y or the matrix Q 0 is equal to the number of zero elements (elements whose value is “0”) or zero rows (the number is necessary for calculation). All the values of the elements are “0”).
- Formula 3 is an expression indicating an optimization model for obtaining a vector x that maximizes the first expression (objective function) under the constraints of the second expression.
- the optimization model shown in Equation 3 is a model in which the calculation of the optimal solution is guaranteed.
- the constraints in the optimization model are not limited to the linear constraints (Ax ⁇ b). For example, even when the constraint is an integer constraint, the above optimization model is guaranteed to calculate an approximate solution at an arbitrary approximate accuracy.
- An integer constraint is a constraint in which at least a part of the optimal solution is an integer.
- the vector “u” is a vector indicating uncertainty in the parameter (c 0 ) (for example, variation of elements of the vector c 0 ). Note that the vertical double line indicates the norm (the length of the geometric vector is generalized to the distance in the vector space).
- the variable “ ⁇ ” is a constraint on variation.
- the matrix “L” is a matrix for setting a range (moving region) in which c 0 varies corresponding to the variation vector u. However, the matrix L is a regular matrix.
- the matrix L and the variable ⁇ are variables given in advance.
- the first equation of Equation 4 indicates that a vector x that maximizes the minimum value of the objective function (c T x) in the variation based on the variation vector u is calculated.
- the first equation indicates that the vector x that maximizes the minimum value of the objective function in the variation range set for the vector c 0 is calculated as the optimal solution.
- the matrix “U” is a matrix indicating a variation in a parameter (matrix Q 0 ) corresponding to the variation vector u in Expression 4. Note that “F” shown in the norm of the fourth equation represents the Frobenius norm.
- the function “L ()” is a matrix function corresponding to the matrix L in Expression 4.
- the function L () is a function indicating a variation based on the variation matrix U applied to the matrix Q 0 .
- the matrix Q in Equation 5 is obtained by adding a variation in the matrix Q 0 shown by a function L (U).
- the variable ⁇ and the function L () are given in advance.
- constraints in the optimization model shown in Equation 5 are not limited to the linear constraints (Ax ⁇ b).
- the constraints in the above optimization model may include integer constraints, for example.
- the first equation (objective function) of Equation 5 indicates that a vector x that maximizes the minimum value of the objective function in the range of the variation (matrix U) is calculated as the optimum solution.
- the vector x having the smallest minimum value in the variation range set to Q 0 is set as the optimum solution.
- Non-Patent Document 1 is a method that can calculate a solution when the matrix Q in Equation 5 can be decomposed into a mathematically set matrix T T T.
- the matrix T obtained by decomposing the matrix Q is a matrix introduced for calculation. Therefore, the uncertainty that is actually assumed cannot be applied to the matrix T.
- FIG. 1 is a block diagram illustrating an example of the configuration of the information processing apparatus 100 according to the first embodiment.
- the information processing apparatus 100 includes a model acquisition unit 110, a model conversion unit 120, an optimization unit 130, and an output unit 140.
- the model acquisition unit 110 acquires an optimization model that is an object of optimization processing in the information processing apparatus 100.
- an optimization model that is an object of optimization processing in the information processing apparatus 100.
- a robust secondary optimization model will be described as an example of the optimization model.
- the acquisition of the optimization model is specifically to acquire a mathematical expression corresponding to the optimization model as shown in Expression 5.
- the acquisition of the mathematical expression includes acquisition of a coefficient and a constant term included in the mathematical expression.
- the method by which the model acquisition unit 110 acquires the optimization model is not particularly limited.
- model acquisition unit 110 may receive (acquire) an optimization model directly.
- model acquisition unit 110 may receive parameters and create an optimized model. This operation is, for example, the following operation.
- the model acquisition unit 110 receives a general secondary optimization model (prediction model) and parameters for robust optimization. Then, the model acquisition unit 110 may create an optimization model by applying parameters to a general secondary optimization model (prediction model).
- prediction model general secondary optimization model
- the model acquisition unit 110 holds a prediction model (type) that is the basis of the optimization model. Then, the model acquisition unit 110 receives the optimization model parameters and constraints. Then, the model acquisition unit 110 may create an optimization model by applying a parameter and a constraint after the prediction model (type) is transformed using a predetermined process (for example, machine learning).
- a predetermined process for example, machine learning
- the model acquisition unit 110 holds in advance information related to a model (prediction prototype model) that is a prototype of a general secondary optimization model (prediction model). And the model acquisition part 110 receives the parameter (prediction model parameter) regarding a prediction prototype model. Then, the model acquisition unit 110 applies a prediction model parameter to the prediction prototype model to create a general secondary optimization model (prediction model). Further, the model acquisition unit 110 receives parameters of the optimization model. Then, the model acquisition unit 110 may create an optimization model by applying the received parameter to the created general secondary optimization model.
- the acquisition source from which the model acquisition unit 110 acquires the above information is not particularly limited.
- the model acquisition unit 110 may receive the information from an external device (not illustrated) (for example, a device operated by a user of the information processing device 100).
- the model acquisition unit 110 may acquire the information from a storage unit (not shown).
- the model acquisition unit 110 transmits the acquired or created optimization model to the model conversion unit 120.
- the model conversion unit 120 requests the optimization unit 130 to calculate the optimal solution in the optimization model. Then, the model conversion unit 120 converts the optimization model using the optimal solution calculated by the optimization unit 130.
- the conversion of the optimization model is not particularly limited.
- the conversion of the optimization model is a change in the form of an expression related to the optimization model, or a change in the value of a parameter included in the optimization model.
- description will be given using a change in parameter value.
- the model conversion unit 120 requests the optimization unit 130 to calculate the optimal solution in the optimized model after conversion.
- the model conversion unit 120 repeats the above-described change and calculation operations until the optimal solution or the state of the process (for example, the number of processes for calculating the optimal solution) satisfies a predetermined condition.
- the predetermined conditions are not particularly limited.
- the predetermined condition may be determined according to the optimization model to be processed. For example, in the case of a detailed operation later, the predetermined condition can use the number of repetitions of the above operation. Alternatively, in the above case, the predetermined condition may be that a change amount that is a difference between the calculated optimal solution and the previously calculated optimal solution is smaller than a predetermined value.
- the model conversion unit 120 transmits the optimal solution to the output unit 140.
- the optimization unit 130 calculates an optimal solution in the optimization model received from the model conversion unit 120.
- the optimization unit 130 transmits the optimal solution to the model conversion unit 120.
- the output unit 140 outputs the optimal solution received from the model conversion unit 120 (the optimal solution that satisfies a predetermined condition in the optimization model) to a predetermined output destination.
- the output unit 140 may output an optimal solution to a device (not shown) that has transmitted parameters to the model acquisition unit 110.
- FIG. 2 is a flowchart illustrating an example of the operation of the information processing apparatus 100 according to the first embodiment.
- the model acquisition unit 110 receives (acquires) or creates an optimization model to be processed (step S201).
- the model acquisition unit 110 transmits the optimization model to the model conversion unit 120.
- the model conversion unit 120 calculates an optimal solution of the optimization model using the optimization unit 130 (step S202).
- the model conversion unit 120 determines whether or not a predetermined condition is satisfied (step S203).
- step S203 If the conditions are not satisfied (No in step S203), the model conversion unit 120 converts the optimized model (step S204). Then, the model conversion unit 120 returns to step S203.
- step S203 If the condition is satisfied (Yes in step S203), the model conversion unit 120 transmits the optimal solution to the output unit 140.
- the output unit 140 outputs the optimum solution to a predetermined output destination (step S205).
- the information processing apparatus 100 ends the operation.
- Equation 5 the function L (U) in Equation 5 can be expressed or approximated using two matrices L 1 and L 2 as shown in Equation 6 below.
- Formula 6 uses a matrix U indicating fluctuation. That is, the information processing apparatus 100 calculates an optimal solution using actual fluctuations.
- the model acquisition unit 110 acquires or creates an optimization model represented by Equation 5.
- the model acquisition unit 110 holds a formula format (type) shown in Formula 5 in advance.
- the function L (U) is in the form of Equation 6.
- the model acquisition unit 110 receives the parameters in Equations 5 and 6. Specifically, the model acquisition unit 110 receives the following parameters.
- Equation 1 the basis function g (x) is expressed by Equation 1.
- the model acquisition unit 110 creates an optimization model corresponding to Equation 5 using the received parameters.
- the model acquisition unit 110 of the present embodiment introduces the matrices M 1 and M 2 shown in Expression 7 and the variable ⁇ , and creates Expression 8 that is a modification of Expression 5.
- the model conversion unit 120 updates the variable ⁇ , as will be described later. Therefore, the initial value of the variable ⁇ , the initial value ⁇ 0.
- the initial value ⁇ 0 is not particularly limited as long as it is a positive real number.
- the model acquisition unit 110 may use a preset initial value ⁇ 0 . Alternatively, the model acquisition unit 110 may acquire the initial value ⁇ 0 included in the received parameter.
- Equation 8 the variable ⁇ is included in the first equation (objective function) of Equation 8. Further, as is clear from the comparison with Equation 3, Equation 8 has the same type as a general secondary optimization model. In other words, in Formula 8, the calculation of the optimal solution is guaranteed. That is, the model acquisition unit 110 creates an optimized model in which an optimal solution is guaranteed.
- the information processing apparatus 100 creates an optimization model in which the calculation of the optimal solution is guaranteed as the optimization model (robust secondary optimization model).
- the model acquisition unit 110 transmits the created optimization model to the model conversion unit 120.
- the model conversion unit 120 uses the optimization unit 130 to calculate the optimal solution of the received optimization model. As described above, this optimization model guarantees the solution of the optimal solution. Therefore, the optimization unit 130 can calculate an optimal solution.
- the optimization unit 130 may use a method for calculating an optimum solution in a secondary optimization model that is generally used.
- the model conversion unit 120 determines whether the optimal solution satisfies a predetermined condition (for example, the number of processes).
- the model conversion unit 120 ends the process and transmits the optimal solution to the output unit 140.
- the model conversion unit 120 converts the optimized model. More specifically, the model conversion unit 120 corrects the variable ⁇ i .
- the correction of the variable ⁇ i is not particularly limited.
- the model conversion unit 120 may change (correct) the variable ⁇ i using, for example, the following formula 9.
- the vector "x .gamma.i" is a vector x is calculated using a variable gamma i.
- the first vector x ⁇ 0 is a vector x calculated using the initial value ⁇ 0 of the variable ⁇ .
- the vector x ⁇ 1 is a vector x calculated using the variable ⁇ 1 changed once.
- the model conversion unit 120 converts the optimized model by exchanging the calculated variable ⁇ i + 1 with the variable ⁇ i of Expression 8. That is, the model conversion unit 120 converts the optimization model using the calculated optimal solution.
- model conversion unit 120 requests the optimization unit 130 to calculate an optimal solution in the converted optimization model.
- Equation 8 For the correction of this variable ⁇ , the optimal solution of Equation 8 is guaranteed to be non-decreasing.
- Equation 9 when ⁇ is changed (changed from ⁇ i to ⁇ i + 1 ) and ⁇ i + 1 ⁇ ⁇ i , the value of the first equation (objective function) of Equation 8 increases. .
- the objective function in Equation 8 is not decreased when ⁇ is changed.
- the value of the objective function of Expression 8 is not decreased because it is maximized with respect to x. Therefore, the calculation of the optimal solution in the objective function in Formula 8 when ⁇ is changed by Formula 9 is not reduced.
- an optimal solution an objective variable that maximizes the minimum value of the objective function in the fluctuation range, or An approximate solution of the optimal solution can be calculated.
- the model conversion unit 120 converts the optimization model so as to search for repositioning in the parameter fluctuation range. Then, the optimization unit 130 calculates an optimal solution of the optimization model.
- the information processing apparatus 100 may repeat this operation.
- the predetermined condition is a condition for guaranteeing the calculation of the optimum solution in the range of fluctuation (prediction error range).
- the model conversion unit 120 and the optimization unit 130 can calculate the optimal solution or the approximate value of the optimal solution by repeating the above operation until a predetermined condition is satisfied.
- the predetermined condition may be set based on past results, for example.
- the information processing apparatus 100 has the effect of calculating an optimal solution in an optimization model (a robust optimization model, particularly, a robust quadratic optimization model) that takes into account parameter variations (matrix U). Play.
- the information processing apparatus 100 has an effect of calculating an optimal solution in the robust optimization model to which an assumed uncertainty is applied.
- the model acquisition unit 110 acquires or creates an optimization model (robust secondary optimization model) that is an object of optimization. However, as described above, the model acquisition unit 110 creates an optimized model in which an optimal solution is guaranteed. Further, this optimization model is a model that uses a matrix U indicating fluctuation.
- model conversion unit 120 uses the optimization unit 130 to calculate the optimal solution in the optimization model in which the calculation of the optimal solution is guaranteed.
- the model conversion unit 120 converts the optimized model using the calculated optimal solution until a predetermined condition is satisfied. Then, the optimization unit 130 calculates an optimal solution in the converted optimization model.
- the optimal solution in the corresponding optimization model (optimization problem) is not reduced.
- Equation 8 always estimates the risk in Equation 5 to be large.
- the conversion of the optimization model in the model conversion unit 120 corresponds to a correction that matches the risk estimate in the current solution (x ⁇ i ) with Equation 5.
- the objective function of Expression 8 is less than or equal to the objective function of Expression 5 for any set of x and ⁇ . However, when the set of x and ⁇ satisfies the relationship of Equation 9, the value of the objective function of Equation 8 matches the value of the objective function of Equation 5.
- the information processing apparatus 100 calculates the optimum solution or an approximate value of the optimum solution in the risk estimation equivalent to Formula 5 if a condition for repeating the process a sufficient number of times for the fluctuation range (prediction error range) is used. it can.
- or 9 is applicable to the application example demonstrated below.
- Initial values such as parameters in the optimization model may be set based on knowledge about each example.
- a plurality of information processing apparatuses 100 are configured to maximize the sum of sales of a plurality of products based on the prediction of sales of a plurality of products. The case where the optimal solution in the price of the product is calculated will be described.
- the information processing apparatus 100 calculates an optimal solution (sales price) that maximizes the total sales of the sandwich group for the next month in a retail store. It is assumed that the sandwich group includes four types of sandwiches A, B, C, and D. In this case, the information processing apparatus 100 solves the problem of calculating an optimal solution for each of the sales prices of the sandwiches A, B, C, and D that maximizes the total sales of the sandwich group.
- the sales amount of the sandwich A is considered to be affected by the sales price of the sandwiches (sandwiches B, C, and D) displayed together with the sandwich A in addition to the sales price of the sandwich A itself. This is because a customer who visits the retail store is thought to selectively purchase a preferred sandwich from among the sandwiches A, B, C, and D that are simultaneously displayed on the merchandise shelf.
- the day when the sales price of sandwich B is set lower than the normal sales price is assumed.
- the possibility that the customer purchases the sandwich B is expected to be higher than the day when the normal price is set.
- the likelihood that a customer will purchase other sandwiches is expected to be lower than on the day when the normal price is set. This is because a product with a sales price lower than usual (in this case, sandwich B) generally increases the customer's incentive to purchase.
- the relationship between cannibalization is, for example, if you lower the selling price of a product, the sales volume of that product increases, but the sales volume of other competing products (multiple products with similar properties and characteristics) decreases. It is a relationship that
- the sales amount of sandwich A is affected not only by the sales price of sandwich A but also by the sales prices of sandwiches B, C, and D.
- the sales amount of the sandwich A is expressed by using a function (prediction formula or prediction model) including the sales prices of all the sandwiches (A, B, C, and D). That is, this function is a prediction model.
- the selling price of the sandwich group is an explanatory variable (vector x) of the prediction model.
- the sales amount of the sandwich group is the explained variable (vector y) in the prediction model.
- This function (prediction formula or prediction model) can be calculated based on past data (such as the past sales price of each sandwich and the sales amount at that time).
- Optimized model is a model including this function (prediction formula or prediction model). That is, the optimization model is calculated based on past data of the explanatory variable and the explained variable.
- the objective variable in the optimization model is the selling price of the sandwich group.
- the optimization model may include other information (for example, external information).
- the optimization model may include information on the weather, temperature, or surrounding events for the next month.
- constraints are, for example, the number of arrivals and the purchase price of each sandwich.
- the objective function is the sum of sales of the sandwich group.
- the model acquisition unit 110 acquires an optimization model and transmits it to the model conversion unit 120.
- the model conversion unit 120 transmits the optimization model to the optimization unit 130.
- the optimization unit 130 sets the sales price (objective) so that the minimum value of the objective function (sum of the sales of the sandwich group) is maximized within a range that satisfies the constraint condition on the sales price in the sales optimization model. Variable) is calculated. More specifically, the optimization unit 130 calculates an optimal solution for each selling price of the sandwiches A, B, C, and D.
- the minimum value of the objective function is the minimum value of the objective function for a certain parameter. “To calculate the optimal solution so that the minimum value of the objective function is maximized” means “to obtain a parameter that maximizes the minimum value of the objective function”.
- the model conversion unit 120 changes the optimization model based on the optimal solution.
- the model conversion unit 120 and the optimization unit 130 repeat this operation until a predetermined condition is satisfied.
- the output unit 140 outputs an optimal solution.
- the information processing apparatus 100 calculates the optimal solution for the selling price of each product so that the total sales of the four products is maximized. That is, the information processing apparatus 100 uses four objective variables as objective variables in the optimization model. Alternatively, the information processing apparatus 100 uses four variables as explanatory variables of the prediction model included in the optimization model. However, the number of objective variables (or explanatory variables of the prediction model) included in the optimization model targeted by the information processing apparatus 100 is not limited to four. The number of objective variables may be two or three, and may be five or more. Further, the value corresponding to the objective variable is not limited to the value related to the actual product. For example, the value of the objective variable may be a value related to a service (service).
- service service
- the objective function is expressed using a function for calculating the sales or profit of the hotel.
- a charge for a plan using each room of a hotel is selected as an objective variable in the optimization model (an explanatory variable in the prediction model).
- the restriction is, for example, the total number of rooms.
- the information processing apparatus 100 calculates a fee set in the plan so that the minimum value of the sales or profit of the hotel is maximized as an optimal solution.
- the “plan (for example, a plan with a single room breakfast)” in the second application example corresponds to the “sandwich (for example, sandwich A)” in the first application example. .
- the objective function is expressed by using a function for calculating the sales or profit of the hotel as in the second application example.
- a variable corresponding to the price of the room and a variable corresponding to the inventory quantity of the room are selected.
- the first objective variable is a variable representing the charge of each room at each time.
- the second objective variable is a variable representing the number of rooms to be sold (or the number of rooms in stock) in each period.
- the restriction is, for example, the total number of rooms.
- the information processing apparatus 100 calculates the price of the room and the number of rooms to be sold so that the minimum value of the sales or profit of the hotel is maximized as the optimal solution.
- the objective function is expressed using a function for calculating the sales or profit of the airline. Further, as the objective variable in the optimization model (explanatory variable in the prediction model), a variable corresponding to the price and the number of sales (the number of seats sold) is selected.
- the air tickets are divided based on the route (departure point, destination and route) and the type of seat (class).
- the first objective variable is a variable representing the ticket price corresponding to the route and the seat class at each time.
- the second objective variable is a variable representing the number of tickets sold (number of seats sold) at each time.
- Constraint is, for example, the number of aircraft seats used for each route.
- the information processing apparatus 100 calculates the air ticket fee and the number of sold sheets so that the minimum value of the sales or profit of the airline is maximized as the optimum solution.
- the information processing apparatus 100 calculates the parking fee in the parking lot so as to maximize the sales amount or profit in the parking lot as the optimum solution. The case will be described.
- the objective function is expressed using a function for calculating the sales or profit of the parking lot.
- the objective variable in the optimization model (explanatory variable in the prediction model) is, for example, a variable that represents a parking fee for each time zone and each location.
- the restriction is, for example, the number of cars that can be parked in each parking lot.
- the information processing apparatus 100 calculates the parking fee for each hour and place so that the minimum value of the sales amount or profit of the parking lot is maximized as the optimum solution.
- the information processing apparatus 100 described above is configured as follows.
- each component of the information processing apparatus 100 may be configured with a hardware circuit.
- each component may be configured using a plurality of apparatuses connected via a network. That is, the information processing apparatus in each embodiment may be realized as an optimization system.
- each component in each device is realized by using a general-purpose or dedicated circuit, a processor, or a combination thereof.
- Some or all of the above-described components may be configured using a single integrated circuit (IC (Integrated Circuit) or chip).
- IC Integrated Circuit
- some or all of the constituent elements may be configured using a plurality of integrated circuits connected via a predetermined bus.
- a part or all of each of the above constituent elements may be realized by using a combination of the above circuit and the like and a program.
- the plurality of information processing devices or circuits may be arranged in a concentrated manner.
- the plurality of information processing apparatuses or circuits described above may be arranged in a distributed manner.
- the information processing apparatus or circuit described above may be realized as a form in which each information processing apparatus or circuit is connected via a predetermined communication network.
- the above form is a system such as a client and server system or a cloud computing system.
- the plurality of components may be configured by a single piece of hardware.
- the information processing apparatus 100 may be realized as a computer apparatus including a CPU (Central Processing Unit), a ROM (Read Only Memory), and a RAM (Random Access Memory).
- the information processing apparatus 100 may be realized as a computer apparatus that further includes an input / output connection circuit (IOC: Input : / Output Circuit) and a network interface circuit (NIC: Network Interface Circuit).
- IOC Input : / Output Circuit
- NIC Network Interface Circuit
- FIG. 3 is a block diagram showing a configuration of an information processing apparatus 600 which is an example of a hardware configuration in the present embodiment.
- the information processing apparatus 600 includes a CPU 610, a ROM 620, a RAM 630, an internal storage device 640, an IOC 650, and a NIC 680, and constitutes a computer device.
- the CPU 610 reads a program from ROM 620.
- the CPU 610 controls the RAM 630, the internal storage device 640, the IOC 650, and the NIC 680 based on the read program.
- the computer including the CPU 610 controls these configurations, and implements the functions as the model acquisition unit 110, the model conversion unit 120, the optimization unit 130, and the output unit 140 illustrated in FIG. To do.
- the CPU 610 may use the RAM 630 or the internal storage device 640 as a temporary recording medium of the program when realizing each function.
- the CPU 610 may read a program included in the recording medium 700 storing the program so as to be readable by a computer by using a recording medium reading device (not shown).
- the CPU 610 may receive a program from an external device (not shown) via the NIC 680, store the program in the RAM 630, and operate based on the stored program.
- ROM 620 stores programs executed by CPU 610 and fixed data.
- the ROM 620 is, for example, a P-ROM (Programmable-ROM) or a flash ROM.
- the RAM 630 temporarily stores programs executed by the CPU 610 and data.
- the RAM 630 is, for example, a D-RAM (Dynamic-RAM).
- the internal storage device 640 stores data and programs stored in the information processing device 600 for a long period of time. Further, the internal storage device 640 may operate as a temporary storage device for the CPU 610.
- the internal storage device 640 is, for example, a hard disk device, a magneto-optical disk device, an SSD (Solid State Drive), or a disk array device.
- the ROM 620 and the internal storage device 640 are non-transitory recording media.
- the RAM 630 is a volatile recording medium.
- the CPU 610 can operate based on a program stored in the ROM 620, the internal storage device 640, or the RAM 630. That is, the CPU 610 can operate using a nonvolatile recording medium or a volatile recording medium.
- the IOC 650 mediates data between the CPU 610, the input device 660, and the display device 670.
- the IOC 650 is, for example, an IO interface card or a USB (Universal Serial Bus) card. Further, the IOC 650 is not limited to a wired connection such as a USB, but may be wireless.
- the input device 660 is a device that receives an input instruction from an operator of the information processing apparatus 600.
- the input device 660 may operate as the model acquisition unit 110.
- the input device 660 is, for example, a keyboard, a mouse, or a touch panel.
- the display device 670 is a device that displays information to the operator of the information processing apparatus 600.
- the display device 670 may operate as the output unit 140.
- the display device 670 is a liquid crystal display, for example.
- the NIC 680 relays data exchange with an external device (not shown) via the network.
- the NIC 680 may operate as the model acquisition unit 110 or the output unit 140.
- the NIC 680 is, for example, a LAN (Local Area Network) card.
- the NIC 680 is not limited to a wired line, and may use wireless.
- the information processing apparatus 600 configured in this way can obtain the same effects as the information processing apparatus 100.
- the information processing apparatus 100 has acquired an optimization model. However, the information processing apparatus 100 may create an optimization model based on past data or the like.
- an information processing apparatus 101 that creates a prediction model using machine learning, creates an optimization model based on the created prediction model, and calculates an optimum solution in the created optimization model. explain.
- the information processing apparatus 101 calculates an optimal solution of the created optimization model using the same configuration as the information processing apparatus 100.
- FIG. 4 is a block diagram showing an example of the configuration of the information processing apparatus 101 according to the second embodiment.
- the information processing apparatus 101 according to the second embodiment is different from the information processing apparatus 100 according to the first embodiment in that a model creation unit 150 is included. Therefore, in the following description, the model creation unit 150 will be described, and a description of the same configuration of the first embodiment will be omitted.
- the information processing apparatus 101 may be configured using the computer illustrated in FIG. 3, similarly to the information processing apparatus 100.
- the model creation unit 150 creates an optimization model and transmits it to the model acquisition unit 110.
- the model creation unit 150 may include the function of the model acquisition unit 110.
- the model creation unit 150 may pass the created optimization model to the model conversion unit 120.
- the information processing apparatus 101 may not include the model acquisition unit 110.
- FIG. 5 is a block diagram showing an example of the configuration of the model creation unit 150 according to the second embodiment.
- the model creation unit 150 includes a data storage unit 151, a parameter reception unit 152, a model learning unit 153, and a model calculation unit 154.
- the data storage unit 151 stores a prototype model (type) that is a basis of the prediction model included in the optimization model.
- the data storage unit 151 stores data (learning data) used for learning (machine learning) in the model learning unit 153 described later.
- learning data is not particularly limited.
- the learning data is, for example, data stored in advance in the information processing apparatus 101 in correspondence with learning in the model learning unit 153 described later.
- the data storage unit 151 may store data (reference data) used for processing of the model calculation unit 154.
- the reference data is not particularly limited.
- the reference data is, for example, observation data (such as weather data) received from a predetermined observation device.
- the original model stored in the data storage unit 151 is not particularly limited.
- the prototype model may be a prediction model related to regression prediction, or may be another general prediction model.
- the model learning unit 153 acquires a prototype model stored in the data storage unit 151.
- the model learning unit 153 may select a prototype model based on a predetermined instruction or a preset rule.
- model learning unit 153 performs predetermined processing (for example, machine learning) using data (learning data) stored in the data storage unit 151.
- the model learning unit 153 corrects at least a part (for example, a parameter or a mathematical expression) of the original model using the result of the predetermined processing (machine learning), and calculates a prediction model.
- this prediction model is a model using the result of machine learning. Therefore, this prediction model is also called a post-learning model.
- the model learning unit 153 calculates a regression matrix using machine learning based on the learning data, and uses the calculated regression matrix as a prototype.
- the prediction model is calculated (created) by incorporating it into the model.
- the learning process used by the model learning unit 153 is not particularly limited.
- the model learning unit 153 may use a generally used regression model learning engine when learning a regression model.
- the model learning unit 153 transmits the prediction model to the model calculation unit 154.
- the parameter receiving unit 152 receives parameters used by the model calculation unit 154.
- the parameter received by the parameter receiving unit 152 is not particularly limited.
- the parameter may be a variable or parameter included in the objective function or constraint in the optimization model.
- the parameter receiving unit 152 may receive the variable ⁇ already described and / or the initial value ⁇ 0 of the variable ⁇ .
- the number of parameters received by the parameter receiving unit 152 is not particularly limited.
- the parameter transmission source is not particularly limited.
- the parameter receiving unit 152 may receive parameters from a device operated by the user.
- the information processing apparatus 101 may include an input device (not shown), and the parameter receiving unit 152 may receive a parameter input to the input device (not shown).
- the information processing apparatus 101 includes a liquid crystal display (not shown). Furthermore, it is assumed that the information processing apparatus 101 includes a touch panel as the parameter receiving unit 152 on the surface of the liquid crystal display. In this case, the information processing apparatus 101 displays a parameter value or an image for setting the parameter value on the liquid crystal display. Then, the parameter receiving unit 152 may detect an input operation on the touch panel and acquire a parameter corresponding to the detected position.
- the parameter reception unit 152 transmits the received parameter to the model calculation unit 154.
- the parameter receiving unit 152 may receive a parameter corresponding to the prediction model and transmit the parameter to the model learning unit 153.
- the broken line in FIG. 5 shows this relationship.
- the model calculation unit 154 receives the prediction model from the model learning unit 153. Further, the model calculation unit 154 receives parameters from the parameter reception unit 152. And the model calculation part 154 produces the optimization model transmitted to the model acquisition part 110 based on a parameter and a prediction model. Note that the model calculation unit 154 may use reference data stored in the data storage unit 151 in creating an optimization model.
- model calculation unit 154 transmits the created optimization model to the model acquisition unit 110.
- the information processing apparatus 101 calculates an optimal solution based on the same operation as the information processing apparatus 100 according to the first embodiment.
- FIG. 6 is a flowchart showing an example of the operation of the model creation unit 150 according to the second embodiment.
- the data storage unit 151 stores a prototype model (type) and learning data in advance.
- the data storage unit 151 may further store reference data.
- the parameter receiving unit 152 receives parameters from a predetermined transmission source device (step S501).
- the parameters received by the parameter receiving unit 152 are not particularly limited.
- the parameter receiving unit 152 may receive a parameter used by the model calculation unit 154 (for example, a variation range constraint ( ⁇ ) or an initial value ⁇ 0 of the variable ⁇ ).
- the parameter receiving unit 152 transmits the received parameter to the model calculation unit 154.
- the parameter receiving unit 152 may receive parameters used by the model learning unit 153 for learning. In this case, the parameter receiving unit 152 transmits the received learning parameter to the model learning unit 153.
- the model learning unit 153 learns a predetermined portion (parameter, for example, regression matrix) in the prototype model using the learning data stored in the data storage unit 151. Then, the model learning unit 153 calculates a prediction model using the learning result and the prototype model (Step S502).
- the model learning unit 153 transmits the prediction model to the model calculation unit 154.
- model learning unit 153 may operate before the parameter receiving unit 152.
- model learning unit 153 and the parameter receiving unit 152 may operate in parallel in at least some operations.
- the model calculation unit 154 creates an optimization model (for example, a robust secondary optimization model) from the prediction model using the parameters (step S503). Note that the model calculation unit 154 may use reference data in calculating the optimization model.
- an optimization model for example, a robust secondary optimization model
- the model calculation unit 154 outputs (transmits) the optimized model to the model acquisition unit 110 (step S504).
- learning data used by the model learning unit 153 for machine learning is a previously measured vector x of explanatory variables and a vector y of explained variables in the prediction model to be created. Therefore, the number of vectors x and the number of vectors y in the learning data are the same number (hereinafter, N (N is a positive integer)).
- N is a positive integer
- the superscript i (i is a positive integer) is attached
- the explanatory variable and the explained variable used as learning data are, for example, the sales price and the sales amount of the product in a predetermined period.
- the model learning unit 153 introduces a matrix G in which the elements of the matrix are represented by the following Expression 10.
- the matrix “G” is a matrix including the basis function g (x i ) as a row vector. That is, i row of the matrix G is a matrix including the basis function g (x i ), which is a column vector, converted into a row vector.
- “G j (x i )” is the j th element of the basis function g (x i ) corresponding to the i th vector x i . That is, the element “G ij ” of the i-th row and j-th column of the matrix G is the j-th element of the basis function g (x i ) corresponding to the i-th vector x i .
- the model learning unit 153 introduces (calculates) the matrices ⁇ and ⁇ shown in the following Expression 11.
- Equation 11 the matrix “E 1 ” is a matrix in which one element in one row and one column is “1” and the other elements are “0”.
- the model learning unit 153 calculates the matrices ⁇ and ⁇ by applying the vectors x and y in the learning data to Equation 11.
- the model learning unit 153 calculates matrixes L 1 and L 2 that are square roots of the matrices ⁇ and ⁇ , as shown in Expression 12, as a result of machine learning based on the above-described matrices ⁇ and ⁇ . To do.
- Equation 12 the square root of the matrix is the square root of a general matrix.
- the model learning unit 153 creates a prediction model by applying the matrices L 1 and L 2 described above.
- the model calculation unit 154 creates an optimization model based on the learning result (prediction model).
- a general retail store handles a large amount of goods.
- a general retail store wants to calculate an optimal solution for the sales price of each product so as to maximize the total sales of a large number of products.
- the task of defining the objective function in the optimization model corresponding to the above case is a rather complicated task, and is not actually a task that can be performed by a retail store employee.
- an information processing apparatus such as a dedicated computer or a computer can easily process a large amount of data according to a predetermined procedure.
- the data storage unit 151 of the model creation unit 150 stores the definition of “form (prototype model)” of the objective function.
- the model learning unit 153 creates a prediction model from the prototype model based on a large amount of learning data that is a combination of the sales price and the sales amount of each product in the case of the retail store.
- the processing in this case is possible processing in the model learning unit 153.
- the model creation unit 150 can efficiently create an optimization model in a situation where a large amount of data exists.
- model creation unit 150 optimizes if a procedure is defined even when a large amount of data having a complicated correlation such as the cannibalization relationship described in the first embodiment is used. A model can be created.
- the device for calculating a general optimum solution does not consider the prediction error. For this reason, there is a possibility that the optimum solution calculated from a general apparatus may not be optimum when actually applied. For this reason, the optimum solution calculated from a general device for calculating the optimum solution needs to be determined and / or corrected based on manpower.
- the information processing apparatus 101 calculates a robust optimization model considering the prediction error.
- the information processing apparatus 101 can determine an appropriate uncertain region based on the designated probability. Note that the specification of the probability will be described later as a third embodiment.
- the information processing apparatus 101 can realize calculation of an optimal solution in an optimization model that is robust against a prediction error based on a large amount of data that is difficult to do manually.
- model learning unit 153 may perform machine learning using external information in calculating the prediction model.
- the external information is, for example, weather, seasons, surrounding conditions (for example, implementation of an event), prices for similar products in the surroundings, or location information (distance from residential areas, office districts, stations, etc.).
- the information processing apparatus 101 according to the second embodiment has an effect of providing an appropriate optimization model in addition to the effect of the first embodiment.
- the model learning unit 153 applies a result of machine learning to a prototype model stored in the data storage unit 151 in advance to create a prediction model. Then, the model calculation unit 154 applies the parameters received by the parameter reception unit 152 to the prediction model, and creates an optimization model. That is, the model creation unit 150 can calculate an appropriate optimization model based on machine learning and provide it to the model acquisition unit 110.
- the information processing apparatus 100 and the information processing apparatus 101 may receive an optimization model parameter value based on an operation by a user or the like, and apply the value to the optimization model to calculate an optimal solution. .
- the information processing apparatus 100 and the information processing apparatus 101 receive an instruction to change a parameter value based on an operation of a user or the like, change the parameter value in the optimization model, and calculate an optimal solution. May be.
- the information processing apparatus 100 and the information processing apparatus 101 may display the optimum solution in association with the received parameter.
- an information processing apparatus 800 that includes the functions of the information processing apparatus 100 or the information processing apparatus 101, receives parameters, and outputs an optimal solution will be described.
- the following description demonstrates using the information processing apparatus 100 as an example.
- the information processing apparatus 100 can be replaced with the information processing apparatus 101.
- the information processing apparatus 800 may be configured using a computer illustrated in FIG.
- the objective function in the optimization model is assumed to be total sales (hereinafter simply referred to as “sales”), which is the total sales of a plurality of products.
- the sales amount is the sum of products of the selling price of each product and the sales amount of each product.
- the sales amount of each product is affected by the selling price of each product.
- Matrix in Equation 5 Q this effect relationship (e.g., Kanibari relationship internalization) a matrix showing the.
- the sales amount of a product is a value (predicted value) expressed using a function (prediction formula) of the sales price of the product.
- the prediction model included in the optimization model is a model that predicts the sales amount of a product based on the sales price of the product.
- the selling price of each product is an explanatory variable (vector x) in the prediction model.
- the sales amount of each product is an explained variable (vector y) in the prediction model.
- the optimization model calculates a sales price with the sales amount as an objective function as an optimum value (maximum of the minimum value in the fluctuation range). That is, the objective variable of the optimization model is the sales price (vector x) of each product.
- FIG. 7 is a diagram illustrating an example of the configuration of the information processing apparatus 800 according to the third embodiment.
- the information processing apparatus 800 includes an information processing apparatus 100, a parameter receiving unit 300, and an output unit 400.
- the parameter accepting unit 300 accepts (receives) an input of a parameter that stochastically indicates a range of fluctuation (prediction error) in an optimization model (robust optimization model) for which the information processing apparatus 100 calculates an optimal solution.
- the parameter is an example of an index. Therefore, the parameter receiving unit 300 is an example of an index receiving unit.
- this parameter is, for example, a parameter that stochastically indicates the range of prediction error in the optimal value of sales when the distribution of the optimal value of sales is expressed using probability density. is there.
- “probably indicate” means to express using an index related to the probability.
- “probably indicate” is a ratio (percent) to the whole probability density distribution or a ratio to a standard deviation ( ⁇ ) in the probability density.
- this parameter may be a parameter related to the probability for the possibility (risk) of receiving an unexpected disadvantage.
- this parameter may be a parameter related to the probability of risk (risk) of being envisaged to suffer.
- the parameter is a value corresponding to the possibility (risk) of receiving an unexpected disadvantage.
- parameter ⁇ is an example of data indicating a prediction error range.
- ⁇ is a risk ratio (unit: percent (%)) that is not considered in calculating the optimal solution in the probability distribution.
- the value of ⁇ is 50 or less.
- a distribution function corresponding to the above probability distribution is defined as a function F ().
- the information processing apparatus 100 can use a value represented by the following Expression 13 as the parameter ⁇ .
- F ⁇ 1 () is an inverse function of the function F ().
- the method for receiving the parameter ⁇ in the parameter receiving unit 300 is not particularly limited.
- the parameter receiving unit 300 may include an input device (for example, a keyboard, a mouse, or a touch panel) (not shown), and may receive the parameter ⁇ based on an operation on the input device. Therefore, FIG. 7 shows an input device using a broken line.
- the parameter receiving unit 300 may receive the parameter ⁇ from a device operated by the user via a network (not shown).
- the information processing apparatus 100 calculates the optimal solution of the optimization model (robust optimization model) as in the first embodiment. That is, the information processing apparatus 100 sets the price of the product so that the value of the objective function is maximized under the constraint condition with respect to the objective function representing the sales determined including the product of the sales price of the product and the sales amount of the product. Is calculated.
- the calculated product price is the optimal solution of the optimization model.
- the information processing apparatus 100 calculates an optimal solution that maximizes the minimum value of sales (objective function) within the range of fluctuation (prediction error) stochastically specified based on the parameter ⁇ . calculate.
- the information processing apparatus 100 is an optimization unit in the information processing apparatus 800.
- the output unit 400 outputs the optimum solution (sales price) calculated by the information processing apparatus 100 in association with at least the parameter ⁇ (a value indicating a prediction error range).
- the output method in the output unit 400 is not particularly limited.
- the output unit 400 may include a display device (for example, a liquid crystal display) (not shown) and display the optimal solution and the parameter ⁇ on the screen. Therefore, FIG. 7 shows a display device using a broken line.
- the output unit 400 may output the optimal solution and the parameter ⁇ to a predetermined output device.
- the output unit 400 may output information related to the optimization model in association with the above information (optimal solution and parameter ⁇ ).
- the output unit 400 may include a value of a vector y that is an explanatory variable of the prediction model (a predicted value of the sales amount of the product) and / or a value of the objective function of the optimization model (the sales amount). (Optimum value) may be output.
- the output unit 400 may acquire information related to the optimization model and the prediction model included in the optimization model from the information processing apparatus 100 and / or the parameter reception unit 300 as necessary.
- the parameter receiving unit 300 may receive the parameter ⁇ again after the output unit 400 outputs the optimal solution and the parameter ⁇ .
- the output unit 400 includes a display device, and displays the optimal solution and the parameter ⁇ on the display device.
- the user of the information processing apparatus 800 refers to the display and inputs the value of the parameter ⁇ (new parameter ⁇ ) to be confirmed to the information processing apparatus 800.
- the parameter receiving unit 300 may include an input device and acquire the parameter ⁇ based on an operation on the input device.
- a user device connected to the information processing apparatus 800 via a network may transmit a new parameter ⁇ to the information processing apparatus 800.
- the information processing apparatus 800 operates in the same manner as described above, and calculates an optimal solution corresponding to the new parameter ⁇ . Then, the information processing apparatus 800 associates and outputs the new parameter ⁇ and the optimal solution.
- the number of parameters ⁇ accepted by the information processing apparatus 800 is not particularly limited.
- the information processing apparatus 800 may receive one parameter ⁇ and calculate an optimal solution.
- the information processing apparatus 800 may receive a plurality of parameters ⁇ , calculate an optimum solution corresponding to each parameter ⁇ , and output the parameters ⁇ and the optimum solution in association with each other.
- the information processing apparatus 800 uses the parameter receiving unit 300 to receive the parameter ⁇ .
- the information processing apparatus 800 may operate on a preset parameter ⁇ .
- the information processing apparatus 800 corresponds to a plurality of values of the parameter ⁇ (for example, 10%, 20%, 30%, and 40% of the probabilities in the risk to be considered or not to be considered in a storage unit (not illustrated). Value). Then, the parameter receiving unit 300 transmits the stored parameter ⁇ to the information processing apparatus 100. The information processing apparatus 100 calculates an optimal solution corresponding to each parameter ⁇ . Then, the output unit 400 outputs each parameter ⁇ in association with the optimum solution corresponding to the parameter ⁇ .
- the parameter ⁇ for example, 10%, 20%, 30%, and 40% of the probabilities in the risk to be considered or not to be considered in a storage unit (not illustrated). Value.
- the user of the information processing apparatus 800 may select the optimal solution with reference to the information (a set of the optimal solution and the parameter ⁇ ) output by the output unit 400.
- the information processing apparatus 800 may receive a new parameter ⁇ based on a user operation and calculate a new optimum solution.
- the user may want to know an optimal solution between two values of the parameter ⁇ (for example, a detailed optimal solution between 20% and 30% probability of risk to consider).
- the information processing apparatus 800 may receive the parameter ⁇ for which the optimum solution is desired, calculate the optimum solution, and output the parameter ⁇ and the optimum solution in association with each other.
- FIG. 8 is a diagram illustrating a first display example in the output unit 400 according to the third embodiment.
- FIG. 8 is a diagram illustrating an example in which the received parameter ⁇ and the corresponding optimal solution are displayed.
- FIG. 8 shows an example in which the probability density function of the objective function value (optimum value) follows a normal distribution.
- the value on the right side of the average value is a good value range for the objective function. That is, the range where the value of ⁇ is positive is a range where the value of the objective function is higher than the average (the sales amount is high).
- the range on the left side of the average (the range in which the value of ⁇ is negative) is a range in which the value of the objective function is lower than the average (sales amount is low).
- the probability density function used by the information processing apparatus 800 is not limited to the normal distribution.
- the rectangle shown at the bottom of Fig. 8 shows the value of parameter ⁇ . That is, in FIG. 8, the position of the rectangle indicates the lower limit of the uncertain range used as a target for calculating the optimum solution. That is, the position of the rectangle corresponds to the value of the parameter ⁇ .
- the range in which the sales are higher than the average is a more preferable result, so that there is no problem even if it occurs. Therefore, the range of risks that are not considered (not used) in calculating the optimal solution is a range lower than the average. That is, in FIG. 8, the left range (the hatched range) from the position corresponding to the parameter ⁇ is the range corresponding to the risk that is not considered, and is the range of uncertainty that is not used for calculating the optimum solution.
- the graph shown in FIG. 8 shows the magnitude of the risk that is not considered corresponding to the parameter ⁇ .
- the range not shaded is the range of risk considered in calculating the optimal solution. Therefore, the graph shown in FIG. 8 is also a diagram showing the magnitude of the risk considered corresponding to the parameter ⁇ .
- the output unit 400 displays the optimum value of the objective function in the value of the parameter ⁇ (the average value of sales in the optimum solution, the unit is 1,000 yen).
- the information processing apparatus 800 calculates an optimal solution corresponding to the parameter ⁇ . Then, the output unit 400 displays the new parameter ⁇ and the corresponding optimum solution.
- the parameter receiving unit 300 includes a touch panel installed on the surface of a display device included in the output unit 400 as an input device. Then, the parameter receiving unit 300 detects an operation of moving the rectangle corresponding to the displayed parameter ⁇ to the left and right using the touch panel. The parameter receiving unit 300 may use the parameter ⁇ corresponding to the operation position on the touch panel as a new parameter ⁇ .
- the user of the information processing apparatus 800 can change the parameter ⁇ .
- the value of the parameter ⁇ is a negative value in FIG. That is, the positive value of the parameter ⁇ need not be used in this display example. Therefore, the output unit 400 may omit the “ ⁇ ” symbol in the value of the parameter ⁇ . Therefore, in FIG. 8, the “ ⁇ ” symbol of the value of the parameter ⁇ is omitted.
- the output unit 400 may display the value of the probability corresponding to the value of the parameter ⁇ (for example, the value of the risk not considered or the percentage of the risk considered) instead of the value of the parameter ⁇ as the display of the parameter ⁇ . Good.
- the information processing apparatus 800 calculates an optimal solution in an optimization model (that is, a general optimization model) that does not use the prediction error range (risk).
- an optimization model that is, a general optimization model
- the information processing apparatus 800 uses the optimization model (robust optimization model) using all settable prediction error ranges (risks). ) Is calculated.
- the operation target in the information processing apparatus 800 is not limited to the parameter ⁇ . Further, the information processing apparatus 800 is not limited to one parameter to be displayed and operated. The information processing apparatus 800 may operate and display a plurality of parameters.
- the information processing apparatus 800 may display a plurality of optimal solutions. For example, the information processing apparatus 800 may display the optimal solution corresponding to the change of the parameter ⁇ and the optimal solution after the change in order to compare the optimal solution corresponding to the change of the parameter ⁇ .
- the information processing apparatus 800 may display a plurality of parameters ⁇ and an optimal solution corresponding to each parameter ⁇ .
- FIG. 9 is a diagram illustrating a second display example in the output unit 400 according to the third embodiment.
- the upper graph is a graph showing an example of a change in the value (optimum value) of the objective function with respect to the variable ⁇ .
- the vertical axis in the graph is the value of the objective function (average value of the optimal value of sales). However, to make the graph easier to see, the intersection of the vertical axis with the horizontal axis has moved from 0.
- the horizontal axis is the value of parameter ⁇ .
- the parameter ⁇ is a negative value. Therefore, in order to make it easy to see the relationship between the parameter ⁇ and the optimum solution, the display of the positive value of the parameter ⁇ is omitted. Further, FIG. 9 omits the display of the “ ⁇ ” symbol, and displays the range of the negative value of the parameter ⁇ so that the absolute value of the parameter ⁇ increases toward the right side of the figure. In addition, the probability density corresponding to the optimum value of the objective function indicates a monotonically decreasing case.
- the lower part of FIG. 9 shows the value of the optimal solution for each parameter ⁇ (product price, unit is 1,000 yen). Further, the output unit 400 displays the value of the optimum value of the objective function corresponding to each optimum solution (average value of sales, unit is 1,000 yen).
- the parameter receiving unit 300 receives values of a plurality of parameters ⁇ (risk).
- the information processing apparatus 100 calculates an optimal solution (product price) corresponding to the parameter ⁇ .
- the output unit 400 associates and displays a plurality of optimum solutions (product prices) calculated by the information processing apparatus 100 and the parameter ⁇ (risk) corresponding to each optimum solution on one screen.
- the output unit 400 displays the optimum value (average value of sales) of the objective function corresponding to each optimum solution (product price) in addition to the above information (optimum solution and parameter ⁇ ).
- the user of the information processing apparatus 800 can confirm the relationship between a plurality of risks (parameter ⁇ ) and the optimal solution on one screen.
- the information processing apparatus 800 may calculate not only the parameter ⁇ but also other parameters or an optimum solution corresponding to a plurality of parameters, and display the result.
- the information processing apparatus 800 has an effect of providing (outputting) an optimal price solution that optimizes sales corresponding to the relationship with the parameter ⁇ (risk) indicating the prediction error range.
- the parameter receiving unit 300 receives the parameter ⁇ .
- the parameter ⁇ is a value related to the magnitude of risk (prediction error range).
- An optimal solution (optimal solution) in which the information processing apparatus 100 maximizes the minimum value (merit) of the objective function (sales) determined including the product of the price of the product and the sales amount of the product under the constraints. Product price).
- the optimal solution is a value for realizing the value (merit) of the objective function. That is, the optimal solution is a value related to the value (merit) of the objective function.
- the output unit 400 associates and outputs the optimum solution and the parameter ⁇ .
- the information processing apparatus 800 calculates and outputs the optimal solution corresponding to the relationship between the risk and the merit.
- the output unit 400 in the information processing apparatus 800 may transmit the optimal solution and the parameter ⁇ to another apparatus as already described.
- the management device of the system including a plurality of terminal devices includes the information processing device 800
- the information processing device 800 or the management device determines the combination of the optimal solution calculated by the information processing device 800 and the parameter ⁇ for each You may transmit to a terminal device.
- the management device of the POS system includes an information processing device 800.
- the management device of the POS system transmits a combination of the optimal solution (product price) and the parameter ⁇ to the terminal device of each store.
- the user of each terminal device for example, the store manager of each store
- An optimal solution (product price) corresponding to the parameter ⁇ may be used.
- the management device may use an optimization model of the entire POS system that combines the optimization models in each store as the optimization model to be processed by the information processing device 800.
- the information processing apparatus 800 can use a constraint that reflects a constraint in each store (for example, the number of stocks in each store) as a constraint in the optimization model. That is, the information processing apparatus 800 can calculate an optimal solution using a more accurate optimization model.
- the information processing apparatus 800 included in the management apparatus may receive the parameter ⁇ from each terminal apparatus. For example, when the user of the terminal device wants to know the optimal solution for the parameter ⁇ between the two received parameters ⁇ , the user of the terminal device operates the terminal device to calculate the optimal solution to the management device. The value of the parameter ⁇ to be transmitted may be transmitted.
- the information to be transmitted includes not only the optimization and parameter ⁇ , but also the explained variable (predicted value of the sales amount of each product) or the objective function (sales) in the prediction system. May be included.
- the user of each terminal device can further add a determination condition (for example, the number of stores in the store) in selecting the optimum solution. That is, the user of the information processing apparatus 800 can select the optimum solution more accurately.
- the output means is The information processing apparatus according to attachment 1, wherein the sales amount and / or the sales amount are output in association with the price or the parameter ⁇ .
- Parameter acceptance means Accepts multiple parameters ⁇
- Optimization means Calculate the optimal solution for the price for each of multiple parameters ⁇
- the output means is The information processing apparatus according to appendix 1 or 2, wherein each parameter ⁇ and each corresponding optimum solution are output in association with each other.
- the output means is Display means for displaying the parameter ⁇ and the optimum solution in association with each other;
- Parameter acceptance means The information processing apparatus according to any one of appendices 1 to 4, including an input device that receives the parameter ⁇ .
- Appendix 6 The information processing apparatus according to any one of appendices 1 to 5, wherein the price and the sales amount are in a cannibal relationship in the market.
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Strategic Management (AREA)
- Theoretical Computer Science (AREA)
- Development Economics (AREA)
- Finance (AREA)
- Accounting & Taxation (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Entrepreneurship & Innovation (AREA)
- Data Mining & Analysis (AREA)
- Economics (AREA)
- Software Systems (AREA)
- Game Theory and Decision Science (AREA)
- General Business, Economics & Management (AREA)
- Marketing (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Evolutionary Computation (AREA)
- Mathematical Physics (AREA)
- Human Resources & Organizations (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- Medical Informatics (AREA)
- Computational Linguistics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Algebra (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
最適解の算出に用いていないリスク(予測誤差範囲)に関連させて、売上高を最適化する価格の最適解を出力するため、本発明の最適化システムは、ある商品の販売数を予測する予測式が当該商品の価格の関数で表される場合に、予測式に基づいて算出される販売数の予測値について、予測誤差の範囲を確率的に示す指標の入力を受け付ける指標受付手段と、販売数と価格とを含んで定まる売上高を求める目的関数について、制約条件のもとで、目的関数で求められる売上高が最大になるように価格を最適化する最適化手段とを含み、最適化手段は、予測値を入力とし、指標により示される予測誤差の範囲内において、売上高の最小値を大きくするように価格を最適化する。
Description
本発明は、情報の処理に関し、特に、所定の条件を満足する情報(データ)の算出に関連する情報処理装置、情報処理方法、及び、記録媒体に関する。
近年、多くの情報を基に、所定の条件における最適な情報(例えば、プラントにおける材料の投入量、操作機器における操作量、又は、商品の設定価格)を利用者に提供する情報処理装置又は情報処理システムが用いられている。あるいは、利用者が最終的な選択を行うための情報(例えば、判断指標など)を提供する情報処理装置又は情報処理システムが、用いられている。
電力会社は、複数の発電所を含む発電システムの制御において、所定の条件(例えば、総需要電力を満足しながらコストを最小にする)を満足する各発電所の発電量を決定することが必要である。そこで、電力会社は、例えば、需要予測(総需要電力の予測)に基づく発電システムをモデル化した最適化モデルを作成する。そして、電力会社は、最適な発電量(最適解)を決定するために、所定の装置又はシステムを用いて、その最適化モデルにおける最適解(発電量)を算出する。
あるいは、企業の購入部門は、生産活動における資材の購入において、生産計画などを満足しながら利益を最大とする(購入コストを最小とする)資材の購入量(最適解)を決定することが必要である。そこで、購入部門は、需要予測(例えば、必要となる資材の量の予測)に基づく購入量をモデル化した最適化モデルを作成する。そして、購入部門は、購入量を決定するため、所定の装置又はシステムを用いて、作成した最適化モデルにおける最適解(購入量)を算出している。
このように、予測に基づいた判断又は計画をソフトウェア又は所定の装置が最適に行う技術について、以下、その具体例を用いて説明する。
まず、最適化の処理の対象となる最適化モデルが決定される。最適化モデルは、具体的な最適化の目的を示す「目的関数」と、最適解の算出における条件である「制約」とを含む。「目的関数」は、「目的変数」の関数として表される。「目的変数」は、最適化の対象である。最適化において、上記のソフトウェア又は装置は、制約を満たしつつ目的関数の値が最適(例えば、最大又は最小)となるように、「目的変数」の値を最適化する。最適化された目的変数の値を、以下、「最適解」と呼ぶ。なお、最適解は、将来的な値である。そのため、目的関数は、その中に、所定の変数及びパラメータを用いて表される予測モデルを含む。
予測モデルは、予測対象である変数(以下、「被説明変数」と呼ぶ)と、予測対象に影響を及ぼし得る変数(以下、「説明変数」と呼ぶ)との関係性を示すモデルである。一般的に、被説明変数は、予測モデルにおいて、説明変数を用いた関数として表現される。
上記のとおり、予測における予測対象である変数に対して、「被説明変数」という用語を用いる。
これに対し、最適化処理における最適化対象である変数に対して、「目的変数」という用語を用いる。
このように、以下の説明において、「被説明変数」という用語と、「目的変数」という用語とは、相互に区別して用いられる。
なお、予測モデルは、例えば、過去の説明変数と被説明変数とを用いた機械学習等を基に作成される。予測モデルを生成する一般的な方法として、例えば、「回帰分析」がある。
そして、情報処理装置は、最適化モデルの最適解として、目的関数を最適化(例えば、最大化)する目的変数の値(最適解)を算出する。ここで、予測モデルにおける説明変数の少なくとも一部が、最適化モデルにおける目的変数(最適化の対象である変数)となることがあり得る。この点については、後ほど価格最適化の具体例を用いて説明する。
また、一般的に、目的変数は、取り得る値の範囲に制限がある。例えば、上記の発電所における発電量は、上限がある。このような制限が、「制約」の一例である。ただし、制約は、その他の条件を含んでもよい。
そこで、情報処理装置は、例えば、所定の制約を満足する範囲で、目的関数の値が最大になるような最適解を算出する。
このように、最適解を算出する情報処理装置が最適化の対象として用いる最適化モデルは、目的関数及び制約を含むモデルである。
なお、最適化モデルは、情報処理装置において処理されるため、一般的には、上記の目的関数及び制約を、情報処理装置で取り扱い可能な形式(通常は、変数を用いて表現された数式)を用いて表される。
そして、情報処理装置は、最適解として、最適化モデルに含まれる制約の下で、目的関数の値を最適値(最大値、又は、最小値)とする目的変数の値を算出する。
最適化モデルに含まれる目的関数が、目的変数の一次関数を用いて表される場合、その最適化モデルは、「線形最適化モデル」と呼ばれる。また、最適化モデルに含まれる目的関数が、目的変数の二次関数を用いて表される場合、その最適化モデルは、「二次最適化モデル」と呼ばれる。
ここで、具体例として、ある複数の商品又は役務(サービス)の総売上高を最適化するために、各商品又は各役務の価格をいくらに設定したらよいか、という価格最適化の最適化モデルを説明する。ただし、以下では、一例として、商品を用いて説明する。
総売上高は、各商品の価格と、商品の売上げ量(売上げ数)との積の総和である。つまり、総売上高は、「総売上高=(各商品の価格×各商品の売上げ量)の合計」となる。
ここで、商品の価格は、商品の販売者が、設定可能な値である。一方、売上げ量は、販売者が決定できない値であり、さらに、最適化処理を実行する時点から見て未来の値である。
そこで、商品の売上げ量を予測するため、例えば、機械学習を用いて予測モデルが設定される。ここで、商品の売上げ量は、その商品の価格の影響を受けることは自明である。そのため、商品の売上げ量は、商品の売上げ量を予測する予測モデルにおいて、被説明変数である。また、商品の価格は、予測モデルにおいて、説明変数となる。つまり、被説明変数である商品の売上げ量は、予測モデルにおいて、商品の価格の関数として表される。
被説明変数は、具体的には、商品の価格の一次関数、又は、二次以上の関数となる。つまり、被説明変数は、商品の価格(説明変数)の少なくとも一次の関数になる。
総売上高(目的関数)は、「説明変数(商品の価格)」と「被説明変数(商品の価格に影響を受ける売上げ量)」との積となる。上記のとおり、被説明変数は、説明変数(商品の価格)の関数を用いて表される。このため、総売上高(目的関数)は、商品の価格(説明変数)の少なくとも二次の関数になる。
ここで、商品の価格は、最適化モデルにおける目的変数である。つまり、総売上高(目的関数)は、目的変数(商品の価格)の少なくとも二次関数を用いて表される。
そのため、上記のような商品の価格を操作して総売上高を最適化する場合、最適化モデルとして、二次最適化モデルが用いられている。
なお、この場合、制約は、例えば、商品の在庫量である。
上記の具体例から理解されるように、予測モデルにおける説明変数(商品の価格)が、最適化モデルにおける目的変数(商品の価格)、すなわち最適化対象である変数になり得ることに留意されたい。言い換えると、商品の価格という一つの変数が、学習処理及び予測処理においては説明変数として振る舞い、最適化処理においては目的変数として振る舞うことに留意されたい。
最適化モデルは、最適化モデルを表す数式に、1つ又は複数のパラメータを含む。パラメータは、過去の観測データなどを基に決定される値である。しかし、観測データは、測定における誤差を含むデータである。また、最適化モデルの算出対象は、まだ確定していない将来における値(最適解)である。つまり、最適解は、過去のデータが生成された時とは異なる状況において算出される可能性がある。そのため、最適化モデルに含まれるパラメータは、不確実性を含む。
一般的に広く用いられている最適化モデルにおける最適解を算出する手法は、パラメータにおける不確実性を考慮していない。そのため、一般的な最適化モデルを用いて算出された最適解は、実際に適用された場合において、最適とはならない可能性がある。
この理由を説明する。
上記のとおり、最適化モデルは、パラメータを含む。そして、パラメータは、不確実性を含む。そのため、最適解の値が実際に適用される時におけるパラメータの値は、最適解の算出に用いたパラメータの値と異なっている場合がある。この場合、算出された最適解は、実際に適用されるときにおける最適解となっていない可能性がある。
そこで、パラメータの不確実性を考慮した最適化モデルの一つとして、ロバスト最適化モデルが、提案されている(例えば、非特許文献1を参照)。
ロバスト最適化モデルは、パラメータに対して所定の不確実性の範囲(例えば、パラメータ空間における楕円領域)を設定する。そして、ロバスト最適化モデルにおける最適解を算出する情報処理装置は、その不確実性の範囲における最適解を算出する。なお、上記のパラメータに対する不確実性は、「予測誤差」、又は、「パラメータの変動」とも呼ばれる。
最適解が適用される時のパラメータの値が、想定されたパラメータの不確実性の範囲内の場合、ロバスト最適化モデルを用いて算出された最適解は、適用時における解の良さを保証できる。
上記の線形最適化モデルにロバスト最適化モデルを適用した最適化モデルは、ロバスト線形最適化モデルと呼ばれている。また、二次最適化モデルにロバスト最適化モデルを適用した最適化モデルは、ロバスト二次最適化モデルと呼ばれている。
Dimitris Bertsimas, David B. Brown, and Constantine Caramanis, "Theory and Application of Robust Optimization", SIAM (Society for Industrial and Applied Mathematics) Review, Vol. 53, No. 3, pp. 464-501, August 05, 2011
ロバスト最適化モデルにおいて、パラメータを用いて決定される不確実性の範囲の広さは、算出された最適解を用いた場合における、想定する予測の変動範囲を定めている。不確実性の範囲(予測の変動範囲)が広いほど、想定外の値が発生する可能性は、低くなる。つまり、不確実性の範囲(予測の変動範囲)が広いほど、不利益を受ける可能性(リスク)は、低くなる。
一方、一般的に、最適解の算出に広い不確実性の範囲(予測の変動範囲)を用いることは、広い不確実性の範囲に対応できる解(最適解)を算出することになる。そのため、広い不確実性の範囲を用いる場合、目的関数の最適値(これは、期待利得(メリット)に相当する)は、小さくなる。
つまり、メリットを大きくするためには、不確実性の範囲は、狭い方がよい。しかし、不確実性の範囲が狭い場合、想定外の不利益を受ける可能性(リスク)が大きくなる。
例えば、商品の価格を決定する利用者は、最適解の算出に用いていないリスクの大きさ(予測誤差範囲)と商品価格(最適解)との関係を考慮して、商品価格(最適解)を決定することを望んでいる。
しかし、一般的な最適解を算出する情報処理装置は、最適解の算出に用いていないリスクの大きさ(予測誤差範囲)に対応させて、上記の総売上高を最大値とする商品価格の最適解を出力していない。
非特許文献1に記載の技術は、ロバスト最適解モデルの算出に関する技術であり、上記のような価格最適化に適用することができるリスクと最適解との対応に関連する内容を開示していない。
つまり、非特許文献1に記載の技術は、価格最適化において、最適解の算出に用いていないリスクの大きさ(予測誤差範囲)に関連させて最適解を出力できないという問題点があった。
本発明の目的は、上記問題点を解決し、最適解の算出に用いていないリスクの大きさ(予測誤差範囲)に関連させて、売上高を最適化する価格の最適解を出力する情報処理装置、情報処理方法、及び、記録媒体を提供することにある。
本発明の一形態における最適化システムは、ある商品の販売数を予測する予測式が当該商品の価格の関数で表される場合に、予測式に基づいて算出される販売数の予測値について、予測誤差の範囲を確率的に示す指標の入力を受け付ける指標受付手段と、販売数と価格とを含んで定まる売上高を求める目的関数について、制約条件のもとで、目的関数で求められる売上高が最大になるように価格を最適化する最適化手段とを含み、最適化手段は、予測値を入力とし、指標により示される予測誤差の範囲内において、売上高の最小値を大きくするように価格を最適化する。
本発明の一形態における最適化方法は、ある商品の販売数を予測する予測式が当該商品の価格の関数で表される場合に、予測式に基づいて算出される販売数の予測値について、予測誤差の範囲を確率的に示す指標の入力を受け付け、販売数と価格とを含んで定まる売上高を求める目的関数について、制約条件のもとで、目的関数で求められる売上高が最大になるように価格を最適化し、さらに、予測値を入力とし、指標により示される予測誤差の範囲内において、売上高の最小値を大きくするように価格を最適化する。
本発明の一形態における不揮発性記録媒体は、ある商品の販売数を予測する予測式が当該商品の価格の関数で表される場合に、予測式に基づいて算出される販売数の予測値について、予測誤差の範囲を確率的に示す指標の入力を受け付ける処理と、販売数と価格とを含んで定まる売上高を求める目的関数について、制約条件のもとで、目的関数で求められる売上高が最大になるように価格を最適化する処理と、さらに、予測値を入力とし、指標により示される予測誤差の範囲内において、売上高の最小値を大きくするように価格を最適化する処理とをコンピュータに実行させるプログラムをコンピュータ読み取り可能に記録する。
本発明に基づけば、最適解の算出に用いていないリスク(予測誤差範囲)に関連させて、売上高を最適化する価格の最適解を出力するとの効果を奏する。
次に、本発明における実施形態について図面を参照して説明する。
各図面は、本発明における実施形態を説明するためのものである。ただし、本発明は、各図面の記載に限られるわけではない。また、各図面の同様の構成には、同じ番号を付し、その繰り返しの説明を、省略する場合がある。
また、以下の説明に用いる図面において、本発明における実施形態の説明に関係しない部分の構成については、記載を省略し、図示しない場合もある。また、図面中の矢印の方向は、一例を示すものであり、ブロック間の信号の向きを限定するものではない。
また、以下の説明において、適宜、数式を用いて説明するが、本発明における実施形態は、下記の数式に限定されない。
<第一の実施形態>
次に、本発明における第一の実施形態について図面を参照して説明する。
次に、本発明における第一の実施形態について図面を参照して説明する。
なお、第一の実施形態に係る情報処理装置100は、最適化モデルとして、パラメータの変動を考慮した最適化モデル(ロバスト最適化モデル)を用い、その最適化モデルにおける最適解を算出する。つまり、情報処理装置100は、最適化モデルにおける一つ又は複数のパラメータにおける不確実性の範囲(予測誤差又は変動)を考慮した最適解を算出する。
[用語の説明]
本発明における実施形態の説明に先立ち、既に説明した用語を含め、以下の説明に用いる用語の整理しておく。
本発明における実施形態の説明に先立ち、既に説明した用語を含め、以下の説明に用いる用語の整理しておく。
「予測モデル」とは、所定のデータ(予測用データ)を基に、所定のデータの予測値を算出するモデルである。例えば、商品の売上げ量を予測するための予測モデルは、商品価格から売上げ量を予測するモデルである。予測モデルは、関数などの数式(予測式)を用いて表される。
なお、予測モデルは、例えば、学習用データを用いた機械学習を基に作成される。
「説明変数」とは、予測モデルにおいて入力として用いられる変数である。例えば、予測モデルが関数を用いて表現される場合、説明変数は、その関数の引数となる。説明変数は、独立変数とも呼ばれる。
「被説明変数」とは、予測モデルにおいて、説明変数に基づいて決定される変数である。つまり、被説明変数は、説明変数を予測モデルに適用して算出される値である。なお、被説明変数を算出するための予測モデルは、モデルに含まれる数式などに、被説明変数を含んでもよい。被説明変数が、説明変数(及び被説明変数)の関数として表される場合、その関数は、予測モデルに相当する。被説明変数は、従属変数、又は、応答変数とも呼ばれる。
例えば、商品価格から売上げ量を予測する予測モデルの場合、商品価格が説明変数である。また、売上げ量が、被説明変数である。この場合、説明変数である商品価格は、操作可能な変数である。
「最適化モデル」とは、所定のデータ(最適解算出用データ)及び条件を基に、所定の関数を最適な値(最大値又は最小値)とする所定の変数の値(最適解)を算出するモデルである。最適化モデルは、一般的に、数式として表される。最適化モデルは、数式表現として、1つ又は複数のパラメータを含む。最適化モデルは、最適化問題とも呼ばれる。
本実施形態に係る最適化モデルは、上記の予測モデルを含む。
「目的関数」は、最適化モデルにおいて、最適化の目的となる値(例えば、最大値又は最小値)を表す関数である。目的関数は、その中に予測モデルを含んでもよい。この場合、目的関数は、直接的又は間接的に、予測モデルにおける説明変数及び/又は被説明変数に基づいて値を決定される関数である。目的関数は、評価関数とも呼ばれる。
「目的変数」とは、最適化モデルにおいて、目的関数を最適値とするために算出される最適解となる変数である。そのため、最適化モデルは、目的変数を含む関数として表される。なお、最適化モデルにおける目的変数は、最適化モデルに含まれる予測モデルにおける説明変数の少なくとも一部を含む。
「制約」とは、最適化モデルにおける最適解の算出における制約条件である。制約は、次に説明する変動を含んでもよい。制約は、例えば、利用者の指定を基に設定される。あるいは、制約は、予め保持されているデータである。
「変動」とは、最適化モデルに含まれるパラメータが、その不確実性に基づいて変化する値の範囲(不確実性の範囲)である。そのため、「変動」の範囲は、パラメータの「不確実性」の範囲である。なお、最適解は、パラメータを用いた予測を基に算出される値である。そのため、「変動」は、「予測誤差」とも呼ばれる。
例えば、最適化モデルが、商品価格から売上げ量を予測する予測モデルを含むとする。そして、最適化モデルが、商品価格と売上げ量との積の合計である総売上高を最適とする商品価格の最適解を算出するとする。この場合、例えば、情報処理装置100は、最適化モデルのパラメータ又はパラメータの変動を受信し、総売上高を最大にする商品価格(最適解)を算出する。
上記の例の場合、総売上高を表す関数が、目的関数となる。また、最適解の対象となっている商品価格が、目的変数である。制約は、例えば、商品の在庫数である。なお、商品価格は、予測モデルの説明変数である。売上げ量は、予測モデルの被説明変数である。
上記のように、商品価格は、予測モデルにおいて説明変数であり、最適化モデルにおいて目的変数となる。このように、あるモデルにおける変数は、別のモデルにおいて、異なる変数となる場合もある。
本発明における実施形態は、制約を満足する範囲において、最適化モデルにおける目的関数を最適値(最大値又は最小値)とする目的変数の最適解を算出する。なお、以下の説明では、一例として、最適値は、目的関数の最大値とする。
図10は、上記のモデルとデータとの関係を示す図である。予測モデルは、学習用データを用いた機械学習などを用いて算出される。制約は、利用者などからの入力操作を基に設定される。最適化モデルは、予測モデルと制約とを含むモデルとして設定される。そして、最適解を算出する最適化エンジンが、最適化用データを用いて、最適化モデルにおける最適解を算出する。最適化エンジンは、最適解に加え、その他の値(例えば、目的関数の値)を算出してもよい。
本発明における各実施形態は、少なくとも、最適化エンジンとして動作する構成を含む。
[数式の説明]
次に、第一の実施形態に係る最適化モデルに関連する数式及び変数について説明する。
次に、第一の実施形態に係る最適化モデルに関連する数式及び変数について説明する。
以下の説明において、数式における変数として用いられる行列及びベクトルの要素は、実数である。また、ベクトルは、列ベクトルとする。
ただし、以下の説明において、ベクトル又は行列は、計算の結果としてスカラーとなる場合がある。ベクトル又は行列は、要素の数が1つの場合を含むとする。
つまり、以下の説明におけるベクトル及び行列との積は、スカラーとの積の場合を含むとする。
なお、以下の説明において、説明を分かりやすくするため、変数及び定数における「ベクトル」及び「行列」の記載を省略する場合もある。
ベクトル「x」は、予測モデルのおける説明変数を示すベクトルである。ベクトル「y」は、予測モデルにおける被説明変数を示すベクトルである。つまり、被説明変数であるベクトルyは、説明変数であるベクトルxを所定の予測モデル(予測式)に適用して算出される変数である。
被説明変数は、説明変数の関数として表現可能である。また、最適化モデルにおいては、最適化の対象である目的関数が、予測モデルにおける被説明変数である場合もある。そのため、最適化モデルは、被説明変数を、明示的に含まなくてもよい。
以下、ベクトルxの要素の数は、「l(lは正の整数)」とする。ベクトルyの要素の数は、「m(mは正の整数)」とする。
なお、ベクトルxは、適宜、ベクトル空間における基底関数(g(x))で置き換え可能である。つまり、基底関数g(x)は、説明変数である。基底関数g(x)の要素の数(n)は、「n=l+1」である。ベクトルxと基底関数g(x)との関係は、次に数式1のように示される。
数式1において「xi(i=1,2,…,l)」は、ベクトルxのi番目の要素である。上付きの「T」は、行列の転置を示す。ベクトルの場合、「T」は、列ベクトルと行ベクトルとの変換となる。つまり、基底関数g(x)は、列ベクトルである。
ただし、各実施形態は、最適化モデルの目的関数を最適値(最大値又は最小値)とするベクトルx又は基底関数g(x)を算出する。そのため、ベクトルx又は基底関数g(x)は、最適化モデルにおける目的変数である。
(1)線形最適化
一般的な最適化モデル(線形最適化モデル)は、次に示されている数式2を用いて表される。
一般的な最適化モデル(線形最適化モデル)は、次に示されている数式2を用いて表される。
数式2において、第1式は、最適化の対象(つまり、目的関数)を表す式である。なお、第1式の「c0
Tx」が、予測モデルに相当する。
第2式は、制約を表す式である。
第2式の不等号(≦)は、Axの結果であるベクトルの各要素が、ベクトルbの各要素以下であることを示す。
ベクトルxは、既に説明したとおり、予測モデルにおける説明変数のベクトルである。ベクトル「c0」は、予め設定されている列ベクトルであり、ベクトルxと目的関数との関係を示す。
数式2の場合、目的関数は、明示的には被説明変数(ベクトルy)を含まない。ただし、この場合、被説明変数は、目的関数に含まれる予測モデルとみなしてもよい。つまり、この場合、被説明変数のベクトルyは、「y=c0
Tx」としてもよい。なお、この場合、被説明変数(ベクトルy)は、具体的には、スカラーである。
そして、数式2の第1式(目的関数)は、具体的には、予測モデルの説明変数であるベクトルxとベクトルc0との各要素の積の総和を最大にするベクトルxを求めることを示している。
例えば、ベクトルxは、各商品の仕入れ個数を要素とするベクトルとする。さらに、ベクトルc0は、各商品の価格を要素とするベクトルとする。この場合、数式2の第1式(目的関数)は、総売上げを最大化する「仕入れ数(ベクトルx)」を算出することを示す。
制約を表す第2式は、左辺のベクトルの要素と右辺のベクトルの要素との関係(大小関係)を示している。
ベクトル「b」は、制約値を示すベクトルである。行列Aは、説明変数(ベクトルx)と制約値(ベクトルb)との関係を示す行列である。ベクトルb及び行列Aは、予め与えられている情報(変数)である。説明変数(ベクトルx)は、最適化モデルの目的変数である。そのため、制約は、目的変数の制約でもある。
例えば、行列Aが、対角要素の値が「1」である対角行列とする。そして、説明変数のベクトルxが、各商品の仕入れ数とする。この場合、第2式におけるベクトルbは、例えば、各商品の仕入れ可能数量となる。
なお、数式2に示されている最適化モデルは、最適解の算出が保証されているモデルである。
(2)二次最適化
一般的な二次最適化モデルは、次に示す数式3を用いて表される。
一般的な二次最適化モデルは、次に示す数式3を用いて表される。
数式3において、数式2と同じ変数についての説明を省略する。数式3は、予測モデルの説明変数として、ベクトルxの代わりに、基底関数g(x)を用いている。
数式3は、説明変数である基底関数g(x)の二次の式となっている。数式3は、数式2におけるベクトルc0に換えて、行列Q0を用いて表されている。なお、行列Q0は、予め設定されている行列である。
例えば、行列Q0の要素数は、基底関数g(x)に合わせて設定される。例えば、下記の目的関数を実現するように設定される。
数式3において、予測モデルの被説明変数のベクトルyは、「y=Q0g(x)」である。つまり、目的関数(g(x)TQ0g(x))は、予測モデルにおける説明変数(g(x)T)と被説明変数(Q0g(x))との積である。つまり、被説明変数(ベクトルy=Q0g(x))が、予測モデルに相当する。
なお、基底関数g(x)とベクトルyとの次元が異なる場合、ベクトルy又は行列Q0のいずれかが、計算において必要な数のゼロ要素(値が「0」の要素)又はゼロ行(全ての要素の値が「0」である行)を追加として含めばよい。
数式3は、第2式の制約の下で、第1式(目的関数)を最大化するベクトルxを求める最適化モデルを示す式である。
なお、数式3に示されている最適化モデルは、最適解の算出が保証されているモデルである。さらに、上記の最適化モデルにおける制約は、上記の線形制約(Ax≦b)に限られない。例えば、制約が、整数制約の場合でも、上記の最適化モデルは、任意の近似精度における、近似解の算出が保証されている。
「整数制約」とは、最適解の少なくとも一部が整数である制約である。
(3)ロバスト最適化モデル(ロバスト線形最適化モデル)
線形のロバスト最適化モデルは、次に示す数式4を用いて表される。
線形のロバスト最適化モデルは、次に示す数式4を用いて表される。
数式4において、数式2と同じ変数についての説明を省略する。ベクトル「u」は、パラメータ(c0)における不確実性(例えば、ベクトルc0の要素の変動)を示すベクトルである。なお、縦の二重線は、ノルム(幾何学的ベクトルの長さをベクトル空間の距離に一般化したもの)を示す。変数「λ」は、変動に対する制約である。行列「L」は、変動のベクトルuに対応して、c0が変動する範囲(動く領域)を設定する行列である。ただし、行列Lは、正則な行列である。行列L及び変数λは、予め与えられている変数である。
数式4の第1式は、変動のベクトルuに基づく変動における、目的関数(cTx)の最小値を、最大とするベクトルxを算出することを示す。言い換えると、第1式は、最適解として、ベクトルc0に対して設定された変動範囲における目的関数の最小値を最大とするベクトルxを算出することを示している。
なお、数式4に示されているロバスト最適化モデル(ロバスト線形最適化モデル)は、各種の解法が提案されている。
(4)ロバスト最適化モデル(ロバスト二次最適化モデル)
後ほど詳細に説明する本発明における実施形態に関連する最適化モデルであるロバスト二次最適化モデルは、次に示す数式5を用いて表される。
後ほど詳細に説明する本発明における実施形態に関連する最適化モデルであるロバスト二次最適化モデルは、次に示す数式5を用いて表される。
数式5において、数式2ないし4と同じ変数についての説明を省略する。
行列「U」は、数式4の変動のベクトルuに相当するパラメータ(行列Q0)における変動を示す行列である。なお、第4式のノルムに示されている「F」は、フロベニウスのノルムを示す。
関数「L()」は、数式4の行列Lに相当する行列の関数である。関数L()は、行列Q0に加わる、変動の行列Uに基づく変動を示す関数である。つまり、数式5における行列Qは、行列Q0に関数L(U)で示される変動を加えたものである。変数λ及び関数L()は、予め与えられている。
なお、数式5に示されている最適化モデルにおける制約は、上記の線形制約(Ax≦b)に限られない。上記の最適化モデルにおける制約は、例えば、整数制約を含んでもよい。
数式5の第1式(目的関数)は、最適解として、変動(行列U)の範囲における目的関数の最小値を最大とするベクトルxを算出することを示す。言い換えると、第1式は、Q0に設定された変動範囲における最小値が最大となるベクトルxを、最適解とする。
既に説明したとおり、上記の数式5のように示されているロバスト最適化についての適切な解法は、提案されていない。例えば、非特許文献1に記載されている手法は、数式5における行列Qを、数学的に設定された行列TTTに分解できた場合に、解を算出できる手法である。しかし、行列Qを分解した行列Tは、計算のために導入された行列である。そのため、実際に想定される不確実性を、行列Tに適用することができない。
本発明における実施形態は、上記のような行列Qを分解する必要がなく、実際の最適化の対象における不確実性を適用した最適解を算出して、利用者に提供できる。
[構成の説明]
次に、本発明における第一の実施形態に係る情報処理装置100の構成について説明する。図1は、第一の実施形態に係る情報処理装置100の構成の一例を示すブロック図である。
次に、本発明における第一の実施形態に係る情報処理装置100の構成について説明する。図1は、第一の実施形態に係る情報処理装置100の構成の一例を示すブロック図である。
図1に示されているように、第一の実施形態に係る情報処理装置100は、モデル取得部110と、モデル変換部120と、最適化部130と、出力部140とを含む。
モデル取得部110は、情報処理装置100における最適化処理の対象となる最適化モデルを取得する。以下、最適化モデルの一例として、ロバスト二次最適化モデルを用いて説明する。
ここで、最適化モデルの取得とは、具体的には、数式5に示されているような最適化モデルに対応した数式を取得することである。数式の取得は、数式に含まれる係数及び定数項の取得を含む。
モデル取得部110が最適化モデルを取得する方法は、特に制限されない。
例えば、モデル取得部110は、直接的に、最適化モデルを受信(取得)してもよい。
あるいは、モデル取得部110は、パラメータ等を受信して、最適化モデルを作成してもよい。この動作は、例えば、次のような動作である。
例えば、モデル取得部110は、一般的な二次最適化モデル(予測モデル)と、ロバスト最適化のためのパラメータとを受信する。そして、モデル取得部110は、一般的な二次最適化モデル(予測モデル)にパラメータを適用して、最適化モデルを作成してもよい。
あるいは、モデル取得部110は、最適化モデルの元となる予測モデル(型)を保持する。そして、モデル取得部110は、最適化モデルのパラメータと制約とを受信する。そして、モデル取得部110は、予測モデル(型)を所定の処理(例えば、機械学習)を用いて変形後、パラメータと制約とを適用して最適化モデルを作成してもよい。
あるいは、モデル取得部110は、予め、一般的な二次最適化モデル(予測モデル)の原型となるモデル(予測原型モデル)に関する情報を保持する。そして、モデル取得部110は、予測原型モデルに関するパラメータ(予測モデル用パラメータ)を受信する。そして、モデル取得部110は、予測モデル用パラメータを予測原型モデルに適用して、一般的な二次最適化モデル(予測モデル)を作成する。さらに、モデル取得部110は、最適化モデルのパラメータを受信する。そして、モデル取得部110は、作成した一般的な二次最適化モデルに受信したパラメータを適用して、最適化モデルを作成してもよい。
なお、モデル取得部110が上記の情報(パラメータ又はモデル)を取得する取得元は、特に制限されない。モデル取得部110は、図示しない外部の装置(例えば、情報処理装置100の利用者が操作する装置)から、上記情報を受信してもよい。
あるいは、モデル取得部110は、図示しない記憶部から、上記情報を取得してもよい。
モデル取得部110は、取得又は作成した最適化モデルを、モデル変換部120に送信する。
モデル変換部120は、最適化モデルにおける最適解の算出を、最適化部130に依頼する。そして、モデル変換部120は、最適化部130が算出した最適解を用いて、最適化モデルを変換する。最適化モデルの変換は、特に制限されない。例えば、最適化モデルの変換は、最適化モデルに関する式の形式の変形、又は、最適化モデルに含まれるパラメータの値の変更である。以下、変換の一例として、パラメータの値の変更を用いて説明する。
そして、モデル変換部120は、変換後の最適化モデルにおける最適解の算出を最適化部130に依頼する。モデル変換部120は、最適解、又は、処理の状態(例えば、最適解の算出の処理の回数)が所定の条件を満足するまで、上述の変更と算出の動作を繰り返す。
ここで、所定の条件は、特に制限されない。所定の条件は、対象となる最適化モデルに対応して、決定されればよい。例えば、後ほど詳細な動作において説明する場合において、所定の条件は、上記動作の繰り返しの回数を用いることができる。あるいは、上記の場合、所定の条件は、算出された最適解と前回算出された最適解との差分である変化量が、所定の値より小さくなることでもよい。
所定の条件を満足した場合、モデル変換部120は、最適解を出力部140に送信する。
最適化部130は、モデル変換部120から受信した最適化モデルにおける最適解を算出する。最適化部130は、最適解をモデル変換部120に送信する。
出力部140は、モデル変換部120から受信した最適解(最適化モデルにおける所定の条件を満足した最適解)を、所定の出力先に出力する。例えば、出力部140は、モデル取得部110にパラメータを送信した図示されていない装置に、最適解を出力してもよい。
[動作の説明]
次に、図面を参照して、第一の実施形態に係る情報処理装置100の動作について説明する。図2は、第一の実施形態に係る情報処理装置100の動作の一例を示すフローチャートである。
次に、図面を参照して、第一の実施形態に係る情報処理装置100の動作について説明する。図2は、第一の実施形態に係る情報処理装置100の動作の一例を示すフローチャートである。
まず、モデル取得部110は、処理の対象である最適化モデルを受信(取得)又は作成する(ステップS201)。
モデル取得部110は、最適化モデルを、モデル変換部120に送信する。
モデル変換部120は、最適化部130を用いて最適化モデルの最適解を算出する(ステップS202)。
モデル変換部120は、所定の条件を満足しているか否かを判定する(ステップS203)。
条件を満足していない場合(ステップS203でNo)、モデル変換部120は、最適化モデルを変換する(ステップS204)。そして、モデル変換部120は、ステップS203に戻る。
条件を満足する場合(ステップS203でYes)、モデル変換部120は、最適解を出力部140に送信する。
出力部140は、最適解を所定の出力先に出力する(ステップS205)。
以上で、情報処理装置100は、動作を終了する。
[詳細な動作]
次に、上記の数式5に対応したロバスト二次最適化モデルの一例に対応した数式を用いて、情報処理装置100の動作の詳細を説明する。ただし、本実施形態に係る情報処理装置100が用いる数式は、以下で示される数式に限定されない。
次に、上記の数式5に対応したロバスト二次最適化モデルの一例に対応した数式を用いて、情報処理装置100の動作の詳細を説明する。ただし、本実施形態に係る情報処理装置100が用いる数式は、以下で示される数式に限定されない。
以下の説明において、数式5における関数L(U)は、次に示す数式6のように、二つの行列L1及びL2を用いて表すことが可能、又は、近似可能であるとする。
数式6は、変動を示す行列Uを用いている。つまり、情報処理装置100は、実際に発生する変動を用いて最適解を算出する。
モデル取得部110は、数式5に示される最適化モデルを取得又は作成する。以下の説明では、モデル取得部110は、予め、数式5に示されている数式の形式(型)を保持するとする。ただし、関数L(U)は、数式6の形式とする。そして、モデル取得部110は、数式5及び6におけるパラメータを受信する。具体的には、モデル取得部110は、次に示すパラメータを受信する。
行列:Q0、A、L1、L2
ベクトル:b
定数:λ
ベクトル:b
定数:λ
なお、基底関数g(x)は、数式1とする。
モデル取得部110は、受信したパラメータを用いて、数式5に相当する最適化モデルを作成する。
ただし、本実施形態のモデル取得部110は、数式7に示されている行列M1及びM2、並びに、変数γを導入して、数式5の変形例である数式8を作成する。
モデル変換部120は、後ほど説明するように、変数γを更新する。そこで、変数γの初期値を、初期値γ0とする。初期値γ0は、正の実数であれば、特に制限はない。モデル取得部110は、予め設定されている初期値γ0を用いてもよい。あるいは、モデル取得部110は、受信するパラメータに含めて、初期値γ0を取得してもよい。
更新後の変数γは、順番を示す変数iを付して変数γi(i=1、2、…)とする。
数式8からも明らかなとおり、変数λは、数式8の第1式(目的関数)に含まれている。さらに、数式8は、数式3との比較から明らかなとおり、一般的な二次最適化モデルと同型となっている。つまり、数式8は、最適解の算出が保証されている。つまり、モデル取得部110は、最適解が保証された最適化モデルを作成している。
このように、本実施形態に係る情報処理装置100は、最適化モデル(ロバスト二次最適化モデル)として、最適解の算出が保証された最適化モデルを作成する。
モデル取得部110は、作成した最適化モデルを、モデル変換部120に送信する。
モデル変換部120は、受信した最適化モデルの最適解を、最適化部130を用いて算出する。上記のとおり、この最適化モデルは、最適解の解法が保証されている。そのため、最適化部130は、最適解を算出できる。
なお、最適化部130における最適解の算出方法は、特に制限されない。最適化部130は、一般に用いられている二次最適化モデルにおける最適解の算出手法を用いてもよい。
最適化部130が最適解を算出後、モデル変換部120は、最適解が所定の条件(例えば、処理の回数)を満足するか否かを判定する。
所定の条件が満足された場合、モデル変換部120は、処理を終了し、最適解を出力部140に送信する。
所定の条件が満足されていない場合、モデル変換部120は、最適化モデルを変換する。より詳細には、モデル変換部120は、変数γiを修正する。変数γiの修正は、特に制限されない。モデル変換部120は、例えば、次に示す数式9を用いて、変数γiを変更(修正)してもよい。
数式9において、ベクトル「xγi」は、変数γiを用いて算出されたベクトルxである。例えば、最初のベクトルxγ0は、変数γの初期値γ0を用いて算出されたベクトルxである。また、ベクトルxγ1は、一回変更された変数γ1を用いて算出されたベクトルxである。
モデル変換部120は、算出した変数γi+1を数式8の変数γiと交換して、最適化モデルを変換する。つまり、モデル変換部120は、算出された最適解を用いて、最適化モデルを変換する。
そして、モデル変換部120は、最適化部130に、変換後の最適化モデルにおける最適解の算出を依頼する。
この変数γの修正に対して、数式8の最適解は、非減少であることが保証されている。
その理由は、次のとおりである。数式9に示されているようにγを変更(γiからγi+1に変更)して、γi+1≠γiとなった場合、数式8の第1式(目的関数)の値は、増加する。また、当然であるが、数式8の目的関数は、γi+1=γiの場合、同じ値となる。つまり、数式8における目的関数においてγを数式9に沿って変更した場合、数式8の目的関数は、このγの変更において非減少である。また、任意のγに固定し、xに関して最大化した場合、数式8の目的関数の値は、xに関して最大化を行っているので、非減少である。よって、γを数式9で変更したときの数式8における目的関数における最適解の算出は、非減少である。
そのため、情報処理装置100は、上記のモデル変換部120及び最適化部130の動作を十分大きな回数を繰り返せば、変動範囲における最適解(目的関数の最小値を、最大にする目的変数)、又は、最適解の近似解を算出できる。
このように、モデル変換部120が、パラメータの変動範囲における再定置を探索するように最適化モデルを変換する。そして、最適化部130が、最適化モデルの最適解を算出する。情報処理装置100は、この動作を繰り返せばよい。
そして、所定の条件は、変動の範囲(予測誤差の範囲)における最適解の算出を保証するための条件である。モデル変換部120及び最適化部130は、所定の条件を満足するまで上記動作を繰り返せば、最適解又は最適解の近似値を算出できる。なお、所定の条件は、例えば、過去の結果を基に設定されればよい。
[効果の説明]
次に、第一の実施形態の効果について説明する。
次に、第一の実施形態の効果について説明する。
第一の実施形態に係る情報処理装置100は、パラメータの変動(行列U)を考慮した最適化モデル(ロバスト最適化モデル、特に、ロバスト二次最適化モデル)における最適解を算出するとの効果を奏する。つまり、情報処理装置100は、想定可能な不確実性を適用したロバスト最適化モデルにおける最適解を算出するとの効果を奏する。
その理由は、次のとおりである。
モデル取得部110は、最適化の対象である最適化モデル(ロバスト二次最適化モデル)を取得又は作成する。ただし、モデル取得部110は、上記のとおり、最適解が保証された最適化モデルを作成する。さらに、この最適化モデルは、変動を示す行列Uを用いているモデルである。
そして、モデル変換部120が、最適化部130を用いて、最適解の算出が保証された最適化モデルにおける最適解を算出するためである。
さらに、モデル変換部120は、所定の条件が満足されるまで、算出された最適解を用いて最適化モデルを変換する。そして、最適化部130は、変換された最適化モデルにおける最適解を算出する。ここで、モデル変換部120における最適化モデルの変換に対して、対応する最適化モデル(最適化問題)における最適解は、非減少となっている。
また、数式8における目的関数は、数式5におけるリスクを常に大きく見積もる。
これは、数式8の目的関数の値が、いかなるx及びγの組を代入した場合でも、同じxを数式5の目的関数に代入した値以下となるからである。
さらに、モデル変換部120における最適化モデルの変換は、現在の解(xγi)におけるリスクの見積りを、数式5と一致させる修正に相当する。
その理由は、次のとおりである。上記のとおり、いかなるx及びγの組に対しても、数式8の目的関数は、数式5の目的関数以下である。ただし、x及びγの組が数式9の関係を満たすとき、数式8の目的関数の値は、数式5の目的関数の値と一致するからである。
そのため、情報処理装置100は、変動範囲(予測誤差範囲)に対して十分な回数の処理を繰り返す条件を用いれば、数式5と同等のリスクの見積りにおいて、最適解又は最適解の近似値を算出できる。
[具体的な適用例]
以下、第一の実施形態に係る情報処理装置100の理解を容易にするため、簡単な具体例を用いて、第一の実施形態に係る情報処理装置100の適用例を説明する。
以下、第一の実施形態に係る情報処理装置100の理解を容易にするため、簡単な具体例を用いて、第一の実施形態に係る情報処理装置100の適用例を説明する。
なお、以下で説明する適用例には、数式6ないし9を用いて説明した詳細な動作において説明した最適化モデルが適用可能である。最適化モデルにおけるパラメータなどの初期値は、各例に対する知見などを基に設定すればよい。
(1)第1の適用例
まず、第1の適用例として、情報処理装置100が、複数の商品の売上げの予測に基づいて、複数の商品の売上高の総和を最大にするように、複数の商品の価格における最適解を算出する場合について説明する。
まず、第1の適用例として、情報処理装置100が、複数の商品の売上げの予測に基づいて、複数の商品の売上高の総和を最大にするように、複数の商品の価格における最適解を算出する場合について説明する。
より具体的な例として、情報処理装置100が、ある小売店において、この先一か月のサンドイッチ群の売上高の総和を最大にする最適解(販売価格)を算出する場合を考える。サンドイッチ群は、サンドイッチA、B、C、及びDの4種類のサンドイッチを含むとする。この場合、情報処理装置100は、サンドイッチ群の売上高の総和を最大化させる、サンドイッチA、B、C、及びDのそれぞれの販売価格の最適解を算出するという問題を解くことになる。
ただし、例えば、サンドイッチAの売上げ量は、サンドイッチA自体の販売価格に加え、サンドイッチAとともに商品棚に陳列されるサンドイッチ(サンドイッチB、C、及びD)の販売価格の影響を受けると考えられる。これは、その小売店に来店する顧客が、商品棚に同時に陳列されるサンドイッチA、B、C、及びDの中から、好ましいサンドイッチを選択的に購入すると考えられるからである。
ここで、例えば、サンドイッチBの販売価格が、通常設定されている販売価格より低く設定された日を想定する。この場合、顧客がサンドイッチBを購入する可能性は、通常の価格を設定されている日に比べ、高くなると予測される。これに対し、顧客がその他のサンドイッチ(A、C、及びD)を購入する可能性は、通常の価格が設定されている日に比べ、低くなると予測される。これは、通常より低い販売価格が設定された商品(この場合、サンドイッチB)は、一般的に、顧客に対して、購入する誘因を高くするためである。
つまり、サンドイッチBの販売価格に基づいて、その他のサンドイッチ(A、C、及びD)の売上げ量は、減ることになる。このような複数の商品における競合関係は、カニバリゼーションの関係(市場の共食いの関係)と呼ばれている。
すなわち、カニバリゼーションの関係とは、例えば、ある商品の販売価格を下げると、その商品の売上げ量は上がるが、他の競合商品(性質や特徴が互いに類似した複数の商品)の売上げ量が減少するような関係である。
例えば、サンドイッチAの売上げ量は、サンドイッチAの販売価格だけではなく、サンドイッチB、C、及びDの販売価格の影響を受ける。
したがって、サンドイッチAの売上げ量は、全てのサンドイッチ(A、B、C、及びD)の販売価格を含む関数(予測式又は予測モデル)を用いて表される。つまり、この関数が、予測モデルである。そして、サンドイッチ群の販売価格が、予測モデルの説明変数(ベクトルx)である。サンドイッチ群の売上げ量が、予測モデルにおける被説明変数(ベクトルy)となる。この関数(予測式又は予測モデル)は、過去のデータ(各サンドイッチの過去の販売価格とその時の売上げ量など)を基に算出することができる。
最適化モデルは、この関数(予測式又は予測モデル)を含むモデルとなる。つまり、最適化モデルは、説明変数と被説明変数との過去のデータに基づいて算出される。最適化モデルにおける目的変数は、サンドイッチ群の販売価格である。
ただし、最適化モデルは、その他の情報(例えば、外部情報)を含んでもよい。最適化モデルは、この先一か月の天候、気温、又は、周辺でのイベントなどに関する情報を含んでもよい。
なお、制約は、例えば、各サンドイッチの入荷数及び仕入価格である。また、目的関数は、サンドイッチ群の売上高の総和である。
モデル取得部110は、最適化モデルを取得し、モデル変換部120に送信する。
モデル変換部120は、最適化モデルを最適化部130に送信する。
最適化部130は、売上高の最適化モデルにおける販売価格などに対する制約条件を満たす範囲おいて、目的関数(サンドイッチ群の売上高の総和)の最小値が最大となるように、販売価格(目的変数)の最適解を算出する。より具体的には、最適化部130は、サンドイッチA、B、C、及びDのそれぞれの販売価格の最適解を算出する。
ここで、目的関数の最小値とは、あるパラメータにおける目的関数の最小値である。そして、「目的関数の最小値が最大となるように最適解を算出する」とは、「目的関数の最小値を最大とするパラメータを求める」ことである。
モデル変換部120は、最適解を基に、最適化モデルを変更する。
そして、モデル変換部120及び最適化部130は、所定の条件を満足するまで、この動作を繰り返す。
そして、出力部140は、最適解を出力する。
なお、上記の説明では、理解を容易にするために、情報処理装置100は、4つの商品の売上高の総和が最大になるように、個々の商品の販売価格の最適解を算出した。つまり、情報処理装置100は、最適化モデルにおける目的変数として、4つの目的変数を用いた。あるいは、情報処理装置100は、最適化モデルに含まれる予測モデルの説明変数として、4つの変数を用いている。しかし、情報処理装置100の対象とする最適化モデルに含まれる目的変数(又は、予測モデルの説明変数)の数は、4つに限定されない。目的変数の数は、2つ又は3つでもよく、5つ以上でもよい。また、目的変数に対応する値は、実体のある商品に関する値に限定されない。例えば、目的変数の値は、役務(サービス)に関する値でもよい。
(2)第2の適用例
次に、第2の適用例として、情報処理装置100が、最適解として、ホテルの売上高又は利益を最大化するように、ホテルのプラン(宿泊プラン)の価格(料金)を算出する場合について説明する。
次に、第2の適用例として、情報処理装置100が、最適解として、ホテルの売上高又は利益を最大化するように、ホテルのプラン(宿泊プラン)の価格(料金)を算出する場合について説明する。
この場合、目的関数は、ホテルの売上高又は利益を算出する関数を用いて表される。また、最適化モデルにおける目的変数(予測モデルにおける説明変数)として、ホテルの各部屋を利用するプランにおける料金が、選択される。制約は、例えば、総部屋数である。
つまり、情報処理装置100は、最適解として、ホテルの売上高又は利益の最小値を最大とするように、プランに設定される料金を算出する。
なお、第1の適用例と比較すると、第2の適用例における「プラン(例えば、シングルルームの朝食付きプラン)」が、第1の適用例における「サンドイッチ(例えば、サンドイッチA)」に対応する。
(3)第3の適用例
次に、第3の適用例として、情報処理装置100が、最適解として、ホテルの売上高又は利益を最大化するように、ホテルの部屋の価格及び部屋の在庫(空き部屋)の数を算出する場合について説明する。
次に、第3の適用例として、情報処理装置100が、最適解として、ホテルの売上高又は利益を最大化するように、ホテルの部屋の価格及び部屋の在庫(空き部屋)の数を算出する場合について説明する。
この場合、目的関数は、第2に適用例と同様に、ホテルの売上高又は利益を算出する関数を用いて表される。また、最適化モデルにおける目的変数(予測モデルにおける説明変数)として、部屋の価格に対応する変数と、部屋の在庫数に対応する変数が、選択される。例えば、第1の目的変数は、各時期における各部屋の料金を表す変数である。また、第2の目的変数は、各時期における販売する部屋の数(又は、部屋の在庫数)を表す変数となる。制約は、例えば、総部屋数である。
つまり、情報処理装置100は、最適解として、ホテルの売上高又は利益の最小値を最大とするように、部屋の価格と、販売する部屋の数とを算出する。
(4)第4の適用例
次に、第4の適用例として、情報処理装置100が、最適解として、航空会社における売上高又は利益を最大化するように、航空会社における航空券の価格及び在庫(席)数を算出する場合について説明する。
次に、第4の適用例として、情報処理装置100が、最適解として、航空会社における売上高又は利益を最大化するように、航空会社における航空券の価格及び在庫(席)数を算出する場合について説明する。
この場合、目的関数は、航空会社の売上高又は利益を算出する関数を用いて表される。また、最適化モデルにおける目的変数(予測モデルにおける説明変数)として、航空券の価格及び販売数(販売する座席の数)に対応した変数が、選択される。
ここで、航空券は、経路(出発地、目的地、及び、ルート)、及び、座席の種類(クラス)に基づいて分けられているとする。この場合、例えば、第1の目的変数は、各時期における、経路及び座席のクラスに対応した航空券の料金を表す変数となる。また、第2の目的変数は、各時期における航空券の販売枚数(販売座席数)を表す変数である。
制約は、例えば、各経路に用いられる航空機の座席数である。
つまり、情報処理装置100は、最適解として、航空会社の売上高又は利益の最小値を最大とするように、航空券の料金と、販売枚数とを算出する。
(5)第5の適用例
次に、第5の適用例として、情報処理装置100が、最適解として、駐車場における売上高又は利益を最大化するように、駐車場における駐車料金を算出する場合について説明する。
次に、第5の適用例として、情報処理装置100が、最適解として、駐車場における売上高又は利益を最大化するように、駐車場における駐車料金を算出する場合について説明する。
この場合、目的関数は、駐車場の売上高又は利益を算出する関数を用いて表される。また、最適化モデルにおける目的変数(予測モデルにおける説明変数)は、例えば、時間帯別及び場所別の駐車料金を表す変数である。制約は、例えば、各駐車場の駐車可能台数である。
つまり、情報処理装置100は、最適解として、駐車場の売上高又は利益の最小値を最大とするように、時間別及び場所別の駐車料金を算出する。
[ハードウェア構成]
以上の説明した情報処理装置100は、次のように構成される。
以上の説明した情報処理装置100は、次のように構成される。
例えば、情報処理装置100の各構成部は、ハードウェア回路で構成されてもよい。
また、情報処理装置100において、各構成部は、ネットワークを介して接続した複数の装置を用いて、構成されてもよい。つまり、各実施形態における情報処理装置は、最適化システムとして実現されてもよい。
この場合、各装置における各構成要素の一部又は全部は、汎用若しくは専用の回路(circuitry)、若しくは、プロセッサ等、又は、これらの組合せを用いて実現される。上記各構成要素の一部又は全部は、単一の集積回路(IC(Integrated circuit)又はchip)を用いて構成されてもよい。あるいは、上記各構成要素の一部又は全部は、所定の母線(bus)を介して接続された複数の集積回路を用いて構成されてもよい。上記各構成要素の一部又は全部は、上記の回路等とプログラムとの組合せを用いて実現されてもよい。
各装置の各構成要素の一部又は全部が、複数の情報処理装置又は回路等を用いて実現される場合、上記の複数の情報処理装置又は回路等は、集中的に配置されてもよい。あるいは、上記の複数の情報処理装置又は回路等は、分散的に配置されてもよい。例えば、上記の情報処理装置又は回路等は、各々の情報処理装置又は回路等が、所定の通信ネットワークを介して接続される形態として実現されてもよい。上記形態は、クライアントアンドサーバシステム、又は、クラウドコンピューティングシステム等のようなシステムである。
また、情報処理装置100において、複数の構成部は、1つのハードウェアで構成されてもよい。
また、情報処理装置100は、CPU(Central Processing Unit)と、ROM(Read Only Memory)と、RAM(Random Access Memory)とを含むコンピュータ装置として実現されてもよい。情報処理装置100は、上記構成に加え、さらに、入出力接続回路(IOC:Input / Output Circuit)と、ネットワークインターフェース回路(NIC:Network Interface Circuit)とを含むコンピュータ装置として実現されてもよい。
図3は、本実施形態におけるハードウェアの構成の一例である情報処理装置600の構成を示すブロック図である。
情報処理装置600は、CPU610と、ROM620と、RAM630と、内部記憶装置640と、IOC650と、NIC680とを含み、コンピュータ装置を構成している。
CPU610は、ROM620からプログラムを読み込む。そして、CPU610は、読み込んだプログラムに基づいて、RAM630と、内部記憶装置640と、IOC650と、NIC680とを制御する。そして、CPU610を含むコンピュータは、これらの構成を制御し、図1に示されている、モデル取得部110と、モデル変換部120と、最適化部130と、出力部140としての各機能を実現する。
CPU610は、各機能を実現する際に、RAM630又は内部記憶装置640を、プログラムの一時的な記録媒体として使用してもよい。
また、CPU610は、コンピュータで読み取り可能にプログラムを記憶した記録媒体700が含むプログラムを、図示しない記録媒体読み取り装置を用いて読み込んでもよい。あるいは、CPU610は、NIC680を介して、図示しない外部の装置からプログラムを受け取り、RAM630に保存して、保存したプログラムを基に動作してもよい。
ROM620は、CPU610が実行するプログラム及び固定的なデータを記憶する。ROM620は、例えば、P-ROM(Programmable-ROM)又はフラッシュROMである。
RAM630は、CPU610が実行するプログラム及びデータを一時的に記憶する。RAM630は、例えば、D-RAM(Dynamic-RAM)である。
内部記憶装置640は、情報処理装置600が長期的に保存するデータ及びプログラムを記憶する。また、内部記憶装置640は、CPU610の一時記憶装置として動作してもよい。内部記憶装置640は、例えば、ハードディスク装置、光磁気ディスク装置、SSD(Solid State Drive)又はディスクアレイ装置である。
ここで、ROM620と内部記憶装置640は、不揮発性(non-transitory)の記録媒体である。一方、RAM630は、揮発性(transitory)の記録媒体である。そして、CPU610は、ROM620、内部記憶装置640、又は、RAM630に記憶されているプログラムを基に動作可能である。つまり、CPU610は、不揮発性記録媒体又は揮発性記録媒体を用いて動作可能である。
IOC650は、CPU610と、入力機器660及び表示機器670とのデータを仲介する。IOC650は、例えば、IOインターフェースカード又はUSB(Universal Serial Bus)カードである。さらに、IOC650は、USBのような有線に限らず、無線を用いてもよい。
入力機器660は、情報処理装置600の操作者からの入力指示を受け取る機器である。入力機器660は、モデル取得部110として動作してもよい。入力機器660は、例えば、キーボード、マウス又はタッチパネルである。
表示機器670は、情報処理装置600の操作者に情報を表示する機器である。表示機器670は、出力部140として動作してもよい。表示機器670は、例えば、液晶ディスプレイである。
NIC680は、ネットワークを介した図示しない外部の装置とのデータのやり取りを中継する。NIC680は、モデル取得部110、又は、出力部140として動作してもよい。NIC680は、例えば、LAN(Local Area Network)カードである。さらに、NIC680は、有線に限らず、無線を用いてもよい。
このように構成された情報処理装置600は、情報処理装置100と同様の効果を得ることができる。
その理由は、情報処理装置600のCPU610が、プログラムに基づいて情報処理装置100と同様の機能を実現できるためである。
<第二の実施形態>
情報処理装置100は、最適化モデルを取得した。しかし、情報処理装置100は、過去のデータ等を基に最適化モデルを作成してもよい。
情報処理装置100は、最適化モデルを取得した。しかし、情報処理装置100は、過去のデータ等を基に最適化モデルを作成してもよい。
そこで、第二の実施形態として、機械学習を用いて予測モデルを作成し、作成した予測モデルを基に最適化モデルを作成し、作成した最適化モデルにおける最適解を算出する情報処理装置101について説明する。情報処理装置101は、情報処理装置100と同様の構成を用いて、作成した最適化モデルの最適解を算出する。
[構成の説明]
まず、第二の実施形態に係る情報処理装置101の構成について説明する。
まず、第二の実施形態に係る情報処理装置101の構成について説明する。
図4は、第二の実施形態に係る情報処理装置101の構成の一例を示すブロック図である。図4に示されているように、第二の実施形態に係る情報処理装置101は、第一の実施形態に係る情報処理装置100と比較すると、モデル作成部150を含む点で異なる。そこで、以下の説明では、モデル作成部150について説明し、第1の実施形態の同様の構成についての説明を省略する。なお、情報処理装置101は、情報処理装置100と同様に、図3に示されているコンピュータを用いて構成されてもよい。
モデル作成部150は、最適化モデルを作成し、モデル取得部110に送信する。なお、モデル作成部150は、モデル取得部110の機能を含んでもよい。例えば、モデル作成部150が、作成した最適化モデルをモデル変換部120に渡してもよい。この場合、情報処理装置101は、モデル取得部110を含まなくてもよい。
図5は、第二の実施形態に係るモデル作成部150の構成の一例を示すブロック図である。図5に示されているように、モデル作成部150は、データ記憶部151と、パラメータ受信部152と、モデル学習部153と、モデル計算部154とを含む。
データ記憶部151は、最適化モデルに含まれる予測モデルの元となる原型モデル(型)を記憶する。
さらに、データ記憶部151は、後ほど説明するモデル学習部153における学習(機械学習)に用いられるデータ(学習データ)を記憶する。なお、学習データは、特に制限されない。学習データは、例えば、後ほど説明するモデル学習部153における学習に対応して、予め、情報処理装置101に保存されているデータである。
さらに、データ記憶部151は、モデル計算部154の処理に用いられるデータ(参照データ)を記憶してもよい。参照データは、特に制限されない。参照データは、例えば、所定の観測機器から受信した観測データ(気象データなど)である。
なお、データ記憶部151に記憶されている原型モデルは、特に制限されない。例えば、原型モデルは、回帰予測に関する予測モデルでもよく、その他の一般的な予測モデルでもよい。
モデル学習部153は、データ記憶部151に記憶されている原型モデルを取得する。なお、データ記憶部151が、複数の原型モデルを記憶している場合、モデル学習部153は、所定の指示、又は、予め設定されている規則に基づいて、原型モデルを選択すればよい。
さらに、モデル学習部153は、データ記憶部151に記憶されているデータ(学習データ)を用いて、所定の処理(例えば、機械学習)を実行する。
そして、モデル学習部153は、上記の所定の処理(機械学習)の結果を用いて、原型モデルの少なくとも一部(例えば、パラメータ又は数式)を修正して、予測モデルを算出する。
なお、この予測モデルは、機械学習の結果を用いたモデルである。そのため、この予測モデルは、学習後モデルとも呼ばれる。
例えば、情報処理装置101が、回帰行列を含む予測モデル(回帰モデル)を用いる場合、モデル学習部153は、学習データを基に機械学習を用いて回帰行列を算出し、算出した回帰行列を原型モデルに組み込んで、予測モデルを算出(作成)する。
モデル学習部153が用いる学習処理は、特に制限されない。例えば、モデル学習部153は、回帰モデルを学習する場合、一般的に用いられている回帰モデル学習エンジンを用いてもよい。
モデル学習部153は、予測モデルを、モデル計算部154に送信する。
パラメータ受信部152は、モデル計算部154が用いるパラメータを受信する。パラメータ受信部152が受信するパラメータは、特に制限されない。パラメータは、最適化モデルにおける目的関数又は制約に含まれる変数又はパラメータであればよい。例えば、パラメータ受信部152は、既に説明した変数λ、及び/又は、変数γの初期値γ0を受信してもよい。このように、パラメータ受信部152が受信するパラメータの数は、特に制限されない。
また、パラメータの送信元は、特に制限されない。パラメータ受信部152は、利用者が操作する装置からパラメータを受信してもよい。
あるいは、情報処理装置101が、図示しない入力機器を含み、パラメータ受信部152は、図示しない入力機器に入力されたパラメータを受信してもよい。
例えば、情報処理装置101は、図示しない液晶ディスプレイを含むとする。さらに、情報処理装置101は、液晶ディスプレイの表面に、パラメータ受信部152としてタッチパネルを含むとする。この場合、情報処理装置101は、液晶ディスプレイにパラメータの値、又は、パラメータの値を設定する画像を表示する。そして、パラメータ受信部152は、タッチパネルに対する入力操作を検出して、検出位置に対応するパラメータを取得してもよい。
パラメータ受信部152は、受信したパラメータをモデル計算部154に送信する。
なお、パラメータ受信部152は、予測モデルに対応したパラメータを受信し、モデル学習部153に送信してもよい。図5における破線は、この関係を示している。
モデル計算部154は、モデル学習部153から予測モデルを受信する。さらに、モデル計算部154は、パラメータ受信部152からパラメータを受信する。そして、モデル計算部154は、パラメータと予測モデルとを基に、モデル取得部110に送信する最適化モデルを作成する。なお、モデル計算部154は、最適化モデルの作成において、データ記憶部151に記憶されている参照データを用いてもよい。
そして、モデル計算部154は、作成した最適化モデルをモデル取得部110に送信する。
これ以降、情報処理装置101は、第一の実施形態に係る情報処理装置100と同様な動作を基に最適解を算出する。
[動作の説明]
次に、図面を参照して、第二の実施形態に係るモデル作成部150の動作の詳細の一例について説明する。図6は、第二の実施形態に係るモデル作成部150の動作の一例を示すフロー図である。
次に、図面を参照して、第二の実施形態に係るモデル作成部150の動作の詳細の一例について説明する。図6は、第二の実施形態に係るモデル作成部150の動作の一例を示すフロー図である。
データ記憶部151は、予め、原型モデル(型)、及び、学習データを記憶している。データ記憶部151は、さらに、参照データを記憶してもよい。
そして、パラメータ受信部152は、所定の送信元装置からパラメータを受信する(ステップS501)。
なお、既に説明したとおり、パラメータ受信部152が受信するパラメータは、特に制限されない。例えば、パラメータ受信部152は、モデル計算部154が用いるパラメータ(例えば、変動範囲の制約(λ)、又は、変数γの初期値γ0)を受信してもよい。パラメータ受信部152は、受信したパラメータを、モデル計算部154に送信する。
あるいは、パラメータ受信部152は、モデル学習部153が学習に用いるパラメータを受信してもよい。この場合、パラメータ受信部152は、受信した学習用のパラメータをモデル学習部153に送信する。
モデル学習部153は、データ記憶部151に記憶されている学習データを用いて、原型モデルにおける所定の部分(パラメータ、例えば、回帰行列)を学習する。そして、モデル学習部153は、学習結果と原型モデルとを用いて、予測モデルを算出する(ステップS502)。
モデル学習部153は、予測モデルをモデル計算部154に送信する。
なお、モデル学習部153は、パラメータ受信部152より先に動作してもよい。あるいは、モデル学習部153及びパラメータ受信部152は、少なくとも一部の動作において、並列に動作してもよい。
モデル計算部154は、パラメータを用いて、予測モデルから最適化モデル(例えば、ロバスト二次最適化モデル)を作成する(ステップS503)。なお、モデル計算部154は、最適化モデルの算出において、参照データを用いてもよい。
そして、モデル計算部154は、最適化モデルを、モデル取得部110に出力(送信)する(ステップS504)。
[詳細な動作]
次に、モデル学習部153における機械学習の動作の一例を、数式を用いて詳細を説明する。ただし、本実施形態に係るモデル学習部153が用いる数式は、以下の説明に限定されない。
次に、モデル学習部153における機械学習の動作の一例を、数式を用いて詳細を説明する。ただし、本実施形態に係るモデル学習部153が用いる数式は、以下の説明に限定されない。
まず、モデル学習部153が機械学習に用いる学習データは、作成される予測モデルにおける、予め測定された説明変数のベクトルx及び被説明変数のベクトルyとする。そのため、学習データにおけるベクトルxの数と、ベクトルyの数とは、同数(以下、N(Nは正の整数)とする)である。なお、学習データにおける個別のベクトルx及び個別のベクトルyを区別する場合、各ベクトルに上付きの添え字i(iは正の整数)を付す。つまり、i番目のベクトルxは、「xi」と表されるとする。
同様に、i番目のベクトルyは、「yi」と表されるとする。なお、yは、数式3における「y=Q0g(x)」である。つまり、yiとQg(xi)とは要素数が同じである。
学習データとして用いられる説明変数と被説明変数は、例えば、所定の期間における商品の販売価格と売上げ量とである。
ここで、モデル学習部153は、行列の要素が次の数式10に示される行列Gを導入する。
数式10において、行列「G」は、基底関数g(xi)を行ベクトルとして含む行列である。つまり、行列Gのi行は、列ベクトルである基底関数g(xi)を行ベクトルに変換して含む行列である。また、「gj(xi)」は、i番目のベクトルxiに対応した基底関数g(xi)のj番目の要素である。つまり、行列Gのi行j列の要素「Gij」は、i番目のベクトルxiに対応した基底関数g(xi)のj番目の要素である。
そして、モデル学習部153は、次の数式11に示されている行列Σ及びΔを導入(算出)する。
数式11において、行列「E1」は、1行1列の要素ひとつが「1」で、他の要素が「0」である行列である。モデル学習部153は、学習データにおけるベクトルx及びyを数式11に適用して、行列Σ及びΔを算出する。
そして、モデル学習部153は、上記の行列Σ及びΔを基に、機械学習の結果として、数式12に示されているように、行列Σ及びΔの平方根である行列L1及びL2を算出する。
数式12において、行列の平方根は、一般的な行列の平方根である。例えば、行列Σは、「Σ=L1
TL1」である。
モデル学習部153は、上記の行列L1及びL2を適用して予測モデルを作成する。
モデル計算部154は、上記の学習結果(予測モデル)を基に、最適化モデルを作成する。
[具体的な適用例]
例えば、一般の小売店は、大量の商品を扱っている。つまり、一般の小売店は、大量の商品の総売上高を最大化するような、各商品における販売価格の最適解の算出を望んでいる。
例えば、一般の小売店は、大量の商品を扱っている。つまり、一般の小売店は、大量の商品の総売上高を最大化するような、各商品における販売価格の最適解の算出を望んでいる。
しかし、上記のような場合に対応した最適化モデルにおける目的関数を定義する作業は、かなり煩雑な作業であり、現実的には、小売店の従業者が実行できる作業ではない。
例えば、小売店における商品の将来の需要予測線が得られた場合、需要予測線に基づいて、発注と在庫との最適解を算出することは、理論的には可能である。しかし、人(従業員)が実際に作成できる需要予測線の数(商品の数)には、おのずから限界がある。また、発注作業は、一日に数回発生する場合も多い。そのため、発注作業のたびに、発注者が、需要予測線の作成などを実行することは、現実的には、無理である。
また、例えば、将来のある期間の売上高を最大とするようにその期間の商品価格の最適解を算出するためには、大量の商品の価格と需要の間の複雑な相関関係を把握することが、必要である。しかし、人が、大量の商品における相関関係を把握することは、かなり困難な作業となる。
一方、一般的に、専用計算機、又は、コンピュータなどの情報処理装置は、予め決められている手順に従って、大量のデータを処理することが容易である。例えば、モデル作成部150のデータ記憶部151は、目的関数の「形(原型モデル)」の定義を保存する。そして、モデル学習部153が、上記の小売店の場合における各商品の売上げ価格と売上げ量と組合せである大量の学習データを基に原型モデルから予測モデルを作成する場合を想定する。この場合の処理は、モデル学習部153において可能な処理である。このように、モデル作成部150は、大量のデータが存在する状況において、最適化モデルを効率良く作成することができる。
さらに、モデル作成部150は、第1の実施形態において説明したカニバリゼーションの関係のような複雑な相関関係が存在する複数の大量のデータを用いる場合でも、その手順が定義されれば、最適化モデルを作成できる。
ここで、既に説明したように、一般的な最適解を算出する装置は、予測誤差を考慮しない。そのため、一般的な装置から算出された最適解は、実際に適用され場合において最適とはならない可能性がある。そのため、一般的な最適解を算出する装置から算出された最適解は、人手に基づく判定及び/又は修正などが必要である。
一方、情報処理装置101は、予測誤差を考慮したロバストな最適化モデルを算出する。あるいは、情報処理装置101は、指定された確率を基に、適切な不確定領域を定めることができる。なお、確率の指定に関しては、後ほど、第3の実施形態として、説明する。
そのため、情報処理装置101は、人手では難しい大量のデータに基づく予測誤差に対してロバストな最適化モデルにおける最適解の算出を、実現することができる。
なお、モデル学習部153は、予測モデルの算出において、外部情報を用いて、機械学習を実行してもよい。外部情報とは、例えば、天候、季節、周辺の状況(例えば、イベントの実施)、周囲における同等製品の料金、又は、ロケーション情報(住宅地、オフィス街、駅からの距離など)である。
[効果の説明]
次に、第二の実施形態に係る情報処理装置101の効果について説明する。
次に、第二の実施形態に係る情報処理装置101の効果について説明する。
第二の実施形態に係る情報処理装置101は、第一の実施形態の効果に加え、適切な最適化モデルを提供するとの効果を奏する。
その理由は、次のとおりである。
モデル学習部153が、予めデータ記憶部151に記憶されている原型モデルに機械学習の結果を適用して予測モデルを作成する。そして、モデル計算部154は、パラメータ受信部152が受信したパラメータを予測モデルに適用して、最適化モデルを作成する。つまり、モデル作成部150は、機械学習を基に、適切な最適化モデルを算出し、モデル取得部110に提供できるためである。
<第三の実施形態>
情報処理装置100及び情報処理装置101は、利用者などによる操作に基づいて、最適化モデルのパラメータの値を受信し、その値を最適化モデルに適用して、最適解を算出してもよい。あるいは、情報処理装置100及び情報処理装置101は、利用者などの操作に基づいて、パラメータの値の変更の指示を受信し、最適化モデルにおけるパラメータの値を変更して、最適解を算出してもよい。
情報処理装置100及び情報処理装置101は、利用者などによる操作に基づいて、最適化モデルのパラメータの値を受信し、その値を最適化モデルに適用して、最適解を算出してもよい。あるいは、情報処理装置100及び情報処理装置101は、利用者などの操作に基づいて、パラメータの値の変更の指示を受信し、最適化モデルにおけるパラメータの値を変更して、最適解を算出してもよい。
さらに、情報処理装置100及び情報処理装置101は、受信したパラメータと関連付けて、最適解を表示してもよい。
そこで、第三の実施形態として、情報処理装置100又は情報処理装置101の機能を含み、さらに、パラメータを受信し、最適解を出力する情報処理装置800を説明する。なお、以下の説明は、一例として、情報処理装置100を用いて説明する。ただし、以下の説明おいて、情報処理装置100は、情報処理装置101に置き換え可能である。また、情報処理装置800は、図3に示されているコンピュータを用いて構成されてもよい。
[説明の前提]
以下の説明において、最適化モデルにおける目的関数は、複数の商品における売上げの合計である総売上高(以下、単に「売上高」と呼ぶ)とする。売上高(目的関数、つまり、メリット)は、各商品の販売価格と各商品の売上げ量との積の合計となる。
以下の説明において、最適化モデルにおける目的関数は、複数の商品における売上げの合計である総売上高(以下、単に「売上高」と呼ぶ)とする。売上高(目的関数、つまり、メリット)は、各商品の販売価格と各商品の売上げ量との積の合計となる。
ただし、各商品の売上げ量は、各商品の販売価格の影響を受ける。数式5における行列Q0は、この影響関係(例えば、カニバリゼーションの関係)を示す行列となる。このように、商品の売上げ量は、商品の販売価格の関数(予測式)を用いて表される値(予測値)である。つまり、最適化モデルに含まれる予測モデルは、商品の販売価格に基づいて商品の売上げ量を予測するモデルである。具体的には、各商品の販売価格が、予測モデルにおける説明変数(ベクトルx)である。また、各商品の売上げ量が、予測モデルにおける被説明変数(ベクトルy)である。
そして、最適化モデルは、目的関数である売上高を最適値(変動範囲における最小値の最大)とする販売価格を算出する。つまり、最適化モデルの目的変数は、各商品の販売価格(ベクトルx)となる。
[構成の説明]
図7は、第三の実施形態に係る情報処理装置800の構成の一例を示す図である。
図7は、第三の実施形態に係る情報処理装置800の構成の一例を示す図である。
図7に示されているように、情報処理装置800は、情報処理装置100と、パラメータ受付部300と、出力部400とを含む。
パラメータ受付部300は、情報処理装置100が最適解を算出する最適化モデル(ロバスト最適化モデル)における変動(予測誤差)の範囲を確率的に示すパラメータの入力を受け付ける(受信する)。
なお、パラメータは指標の一例である。そのため、パラメータ受付部300は、指標受付部の一例である。
より詳細には、このパラメータは、例えば、上記の売上高の最適値の分布が、確率密度を用いて表される場合、売上高の最適値おける予測誤差の範囲を、確率的に示すパラメータである。ここで、「確率的に示す」とは、確率に関連する指標を用いて表すことである。例えば、「確率的に示す」とは、確率密度の分布の全体に対する比率(パーセント)、又は、確率密度における標準偏差(σ)に対する比率である。
なお、このパラメータは、想定外の不利益を受ける可能性(リスク)に対する確率に関連するパラメータでもよい。反対に、このパラメータは、想定される不利益を受ける可能性(リスク)の確率に関連するパラメータでもよい。このように、パラメータは、想定外の不利益を受ける可能性(リスク)に対応した値である。
以下、このパラメータの一例として、数式5に示されている「変数λ(以下、「パラメータλ」とする)」を用いて説明する。パラメータλは、予測誤差の範囲を示すデータの一例である。
ここで、パラメータλにおける「確率的に示す」について、より具体例を説明する。説明に用いる確率分布を、標準正規分布とする。そして、αを、確率分布における最適解の算出において考慮されないリスクの比率(単位は、パーセント(%))とする。
なお、αの値が50の場合は、平均を考慮することに相当する。つまり、「α=50」の場合は、一般的な最適化(非ロバストな最適化)に相当する。
そのため、αの値は、50以下とする。そして、上記の確率分布に対応する分布関数を関数F()とする。この場合、情報処理装置100は、パラメータλとして、次の数式13に示される値を用いることができる。
数式13においてF-1()は、関数F()の逆関数である。
なお、パラメータ受付部300におけるパラメータλの受付手法は、特に、制限されない。例えば、パラメータ受付部300は、図示しない入力機器(例えば、キーボード、マウス、又は、タッチパネル)を含み、その入力機器に対する操作を基に、パラメータλを受け付けてもよい。そのため、図7は、破線を用いて、入力機器を示している。
あるいは、パラメータ受付部300は、図示しないネットワークを介して、利用者が操作する装置から、パラメータλを受信してよい。
情報処理装置100は、第一の実施形態の同様に、最適化モデル(ロバスト最適化モデル)の最適解を算出する。つまり、情報処理装置100は、商品の販売価格と商品の売上げ量との積を含んで定まる売上高を表す目的関数について、制約条件の下で目的関数の値が最大となるように商品の価格を算出する。算出された商品の価格は、最適化モデルの最適解である。
より詳細には、情報処理装置100は、パラメータλに基づいて確率的に指定された変動(予測誤差)の範囲内においる売上高(目的関数)の最小値を、最大とする最適解を算出する。
このように、情報処理装置100は、情報処理装置800における最適化部である。
出力部400は、情報処理装置100が算出した最適解(販売価格)を、少なくともパラメータλ(予測誤差の範囲を示す値)と関連付けて出力する。ただし、出力部400における出力方法は、特に制限されない。例えば、出力部400は、図示しない表示機器(例えば、液晶ディスプレイ)を含み、最適解とパラメータλとを、1つに画面に表示してもよい。そのため、図7は、破線を用いて、表示機器を示している。
あるいは、出力部400は、最適解とパラメータλとを、所定の出力装置に出力してもよい。
出力部400は、上記情報(最適解及びパラメータλ)に加え、最適化モデルに関連する情報を関連付けて出力してもよい。例えば、出力部400は、上記情報に加え、予測モデルの被説明変数であるベクトルyの値(商品の売上げ量の予測値)、及び/又は、最適化モデルの目的関数の値(売上高の最適値)を出力してもよい。
なお、出力部400は、必要に応じて、上記の最適化モデル及び最適化モデルに含まれる予測モデルに関連する情報を、情報処理装置100及び/又はパラメータ受付部300から取得すればよい。
さらに、パラメータ受付部300は、出力部400が最適解及びパラメータλを出力後に、再度、パラメータλを受け付けてもよい。例えば、出力部400が、表示機器を含み、その表示機器に最適解とパラメータλとを表示する。情報処理装置800の利用者は、その表示を参照して、確認したいパラメータλ(新しいパラメータλ)の値を、情報処理装置800に入力する。
この入力方法は、特に制限されない。例えば、パラメータ受付部300が、入力機器を含み、その入力機器に対する操作に基づいてパラメータλを取得してもよい。あるいは、ネットワークを経由して情報処理装置800に接続されている利用者の装置が、情報処理装置800に、新しいパラメータλを送信してもよい。
情報処理装置800は、既に説明した動作と同様に動作して、新しいパラメータλに対応する最適解を算出する。そして、情報処理装置800は、新しいパラメータλと最適解とを関連付けて出力する。
情報処理装置800が受け付けるパラメータλの数は、特に限定されない。情報処理装置800は、1つのパラメータλを受け付けて、最適解を算出してもよい。あるいは、情報処理装置800は、複数のパラメータλを受け付けて、それぞれのパラメータλに対応した最適解を算出し、パラメータλと最適解とを関連付けて出力してもよい。
なお、ここまでの説明において、情報処理装置800は、パラメータ受付部300を用いて、パラメータλを受け付けるとしていた。しかし、情報処理装置800は、予め設定されているパラメータλに対して動作してもよい。
例えば、予め、情報処理装置800は、図示しない記憶部に、パラメータλの複数の値(例えば、考慮するリスク又は考慮しないリスクにおける確率の10%、20%、30%、及び40%に対応する値)を保持する。そして、パラメータ受付部300が、保持されているパラメータλを、情報処理装置100に送信する。情報処理装置100は、各パラメータλに対応した最適解を算出する。そして、出力部400は、各パラメータλと、パラメータλに対応する最適解とを対応づけて出力する。
情報処理装置800の利用者は、出力部400が出力した情報(最適解とパラメータλとの組)を参照して、最適解を選択すればよい。
この場合、情報処理装置800は、利用者の操作を基に、新たなパラメータλを受け付けて、新たな最適解を算出してもよい。例えば、利用者が、パラメータλの2つの値の間における最適解(例えば、考慮するリスクの確率が20%と30%との間の詳細な最適解)を知りたい場合がある。このような場合、情報処理装置800は、最適解を知りたいパラメータλを受け付けて、最適解を算出し、パラメータλと最適解とを対応づけて出力すればよい。
[表示例]
次に、図面を参照して、第三の実施形態に係る情報処理装置800における出力部400の出力について説明する。なお、以下の説明は、出力部400が、表示機器を含み、その表示機器を用いて、パラメータλ及び最適解を表示する場合について説明する。
次に、図面を参照して、第三の実施形態に係る情報処理装置800における出力部400の出力について説明する。なお、以下の説明は、出力部400が、表示機器を含み、その表示機器を用いて、パラメータλ及び最適解を表示する場合について説明する。
(第1の表示例)
図8は、第三の実施形態に係る出力部400における第1の表示例を示す図である。図8は、受け付けたパラメータλと対応する最適解とを表示する場合の一例の示す図である。
図8は、第三の実施形態に係る出力部400における第1の表示例を示す図である。図8は、受け付けたパラメータλと対応する最適解とを表示する場合の一例の示す図である。
図8は、目的関数の値(最適値)の確率密度関数が、正規分布に従う場合の例を示している。図8に示されている正規分布において、「λ=0」の位置が、正規分布の平均値の位置である。そして、図8において、平均値より右側が、目的関数の値が、よい値の範囲となる。つまり、λの値が正の範囲は、目的関数の値が、平均より高い(売上高が高い)範囲である。反対に、平均より左側の範囲(λの値が負の範囲)は、目的関数の値が、平均より低い(売上高が低い)範囲である。ただし、情報処理装置800が用いる確率密度関数は、正規分布に限定されない。
図8の下部に示されている長方形が、パラメータλの値を示している。つまり、図8において、長方形の位置は、最適解を算出する対象として用いる不確実の範囲の下限を示す。つまり、長方形の位置が、パラメータλの値に相当する。ここで、平均より売上高が高い範囲は、より好ましい結果のため、発生しても問題ない。そこで、最適解の算出に考慮されない(用いられない)リスクの範囲は、平均より低い範囲となる。つまり、図8において、パラメータλに対応する位置から左側の範囲(斜線を付した範囲)が、考慮されないリスクに対応する範囲であり、最適解の算出に用いない不確実性の範囲である。つまり、図8に示されるグラフは、パラメータλに対応した考慮されないリスクの大きさを示している。ただし、斜線を付していない範囲は、最適解の算出において考慮されたリスクの範囲である。そのため、図8に示されるグラフは、パラメータλに対応した考慮されるリスクの大きさを示している図でもある。
さらに、出力部400は、図8の右側に示されているように、パラメータλの値(最適解に対応するリスク)と、パラメータλに対応した最適解の値(商品の価格(単位は、千円))とを表示している。リスクは、平均からの差のため、図8において、考慮されるリスクの範囲は、平均(λ=0)からパラメータλの部分となる。
なお、図8において、出力部400は、上記に加え、パラメータλの値における目的関数の最適値(最適解における売上高の平均値、単位は千円)を表示している。
情報処理装置800は、パラメータ受付部300が、新たなパラメータλを受け付けると、そのパラメータλに対応した最適解を算出する。そして、出力部400は、新たなパラメータλと、対応する最適解とを表示する。
例えば、パラメータ受付部300が、入力機器として、出力部400に含まれる表示機器の表面に設置されたタッチパネルを含むとする。そして、パラメータ受付部300が、タッチパネルを用いて、表示されているパラメータλに対応する長方形を左右に移動させる操作に検出する。そして、パラメータ受付部300は、タッチパネル上の操作位置に対応したパラメータλを新たなパラメータλとして用いてもよい。情報処理装置800が、このような構成を含む場合、情報処理装置800の利用者は、パラメータλを変更できる。
上記のとおり、パラメータλの値は、図8における負の値となる。つまり、パラメータλの正の値は、本表示例では、用いる必要がない。そのため、出力部400は、パラメータλの値における「-」記号を省略してもよい。そのため、図8において、パラメータλの値の「-」記号を省略した。
出力部400は、パラメータλの表示として、パラメータλの値に換えて、パラメータλの値に対応する確率の値(例えば、考慮されないリスク又は考慮されるリスクのパーセントの値)を表示してもよい。
なお、パラメータλの値が「0」の場合、情報処理装置800は、予測誤差の範囲(リスク)を用いない最適化モデル(つまり、一般的な最適化モデル)における最適解を算出する。また、パラメータλの値の絶対値が、設定可能な範囲の最大値の場合、情報処理装置800は、設定可能な全ての予測誤差の範囲(リスク)を用いた最適化モデル(ロバスト最適化モデル)における最適解を算出する。
ただし、情報処理装置800における操作対象は、パラメータλに限定されない。また、情報処理装置800は、表示及び操作するパラメータを一つに限定されない。情報処理装置800は、複数のパラメータを操作及び表示してもよい。
(第2の表示例)
情報処理装置800は、複数の最適解を表示してもよい。例えば、情報処理装置800は、パラメータλの変更に対応する最適解を比較するため、パラメータλの変更前に対応する最適解と変更後に対する最適解とを表示してもよい。
情報処理装置800は、複数の最適解を表示してもよい。例えば、情報処理装置800は、パラメータλの変更に対応する最適解を比較するため、パラメータλの変更前に対応する最適解と変更後に対する最適解とを表示してもよい。
あるいは、情報処理装置800は、複数のパラメータλと、それぞれのパラメータλに対応する最適解とを表示してもよい。
図9は、第三の実施形態に係る出力部400における第2の表示例を示す図である。
図9において、上部のグラフは、変数λに対する目的関数の値(最適値)の変化の一例を示すグラフである。
グラフにおける縦軸は、目的関数の値(売上高の最適値の平均値)である。ただし、グラフを見やすくするため、縦軸における横軸との交点は、0から移動している。
横軸は、パラメータλの値である。
なお、上記のとおり、パラメータλは、負の値となる。そのため、図9は、パラメータλと最適解とを関係を見やすくするため、パラメータλの正の値の表示を省略している。さらに、図9は、「-」記号の表示を省略し、図の右側に行くほどパラメータλの絶対値が大きくなるように、パラメータλの負の値の範囲を表示している。また、目的関数の最適値に対応する確率密度は、単調減少の場合を示している。
図9の下部は、各パラメータλに対する最適解の値(商品の価格、単位は千円)を示している。さらに、出力部400は、各最適解に対応した目的関数の最適値(売上高の平均値、単位は千円)の値を表示している。
パラメータ受付部300は、複数のパラメータλ(リスク)の値を受け付ける。そして、情報処理装置100は、パラメータλに対応する最適解(商品の価格)を算出する。そして、出力部400は、情報処理装置100が算出した複数の最適解(商品の価格)と、各最適解に対応するパラメータλ(リスク)とを関連づけて、1つの画面に表示する。
なお、出力部400は、上記の情報(最適解とパラメータλ)に加え、各最適解(商品の価格)に対応した目的関数の最適値(売上高の平均値)を表示している。
図9に示されている第2の表示例の場合、情報処理装置800の利用者は、一つの画面において、複数のリスク(パラメータλ)と最適解との関係を確認することができる。
なお、情報処理装置800は、パラメータλに限らず、他のパラメータ、又は、複数のパラメータに対応した最適解を算出し、その結果を表示してもよい。
[効果の説明]
次に、第三の実施形態に係る情報処理装置800の効果について説明する。
次に、第三の実施形態に係る情報処理装置800の効果について説明する。
第三の実施形態に係る情報処理装置800は、予測誤差範囲を示すパラメータλ(リスク)との関係に対応した売上高を最適化する価格の最適解を提供(出力)するとの効果を奏する。
その理由は、次のとおりである。
パラメータ受付部300は、パラメータλを受け付ける。パラメータλは、リスクの大きさ(予測誤差範囲)に関連する値である。情報処理装置100が、制約条件の下で、商品の価格と商品の売上げ量との積を含んで定まる目的関数(売上高)の値(メリット)の最小値を最大とする最適解(最適な商品価格)を算出する。ここで、最適解は、目的関数の値(メリット)を実現するための値である。つまり、最適解は、目的関数の値(メリット)に関連する値である。そして、出力部400は、最適解とパラメータλとを関連付けて出力する。このように、情報処理装置800は、リスクとメリットとの関係に対応した最適解を算出し、出力するためである。
[変形例]
情報処理装置800における出力部400は、既に説明したとおり、他の装置に、最適解とパラメータλを送信してもよい。例えば、複数の端末装置を含むシステムの管理装置が、情報処理装置800を含む場合、情報処理装置800又は上記管理装置は、情報処理装置800が算出した最適解とパラメータλとの組合せを、各端末装置に送信してもよい。
情報処理装置800における出力部400は、既に説明したとおり、他の装置に、最適解とパラメータλを送信してもよい。例えば、複数の端末装置を含むシステムの管理装置が、情報処理装置800を含む場合、情報処理装置800又は上記管理装置は、情報処理装置800が算出した最適解とパラメータλとの組合せを、各端末装置に送信してもよい。
販売時点情報管理システム(Point of sale system (POS system))を用いて、より具体的に説明する。POSシステムの管理装置が、情報処理装置800を含む場合を想定する。この場合、POSシステムの管理装置は、各店舗の端末装置に、最適解(商品の価格)とパラメータλとの組合せを送信する。各端末装置の利用者(例えば、各店舗の店長)は、各店舗の状態(例えば、店舗の位置、及び営業時間)を基に各店舗におけるリスクに対応したパラメータλを選択し、選択されたパラメータλに対応する最適解(商品の価格)を用いればよい。
この場合、管理装置は、情報処理装置800の処理対象である最適化モデルとして、各店舗における最適化モデルを組み合わせたPOSシステム全体の最適化モデルを用いてもよい。この場合、情報処理装置800は、最適化モデルにおける制約として、各店舗における制約(例えば、各店舗の在庫数)を反映した制約を用いることができる。つまり、情報処理装置800は、より正確な最適化モデルを用いて、最適解を算出できる。
さらに、管理装置に含まれる情報処理装置800は、各端末装置からパラメータλを受信してもよい。例えば、端末装置の利用者が、受信した2つのパラメータλの間のパラメータλに対する最適解を知りたい場合、端末装置の利用者は、端末装置を操作して、管理装置に、最適解を算出したいパラメータλの値を送信してもよい。
なお、上記のPOSシステムの場合、送信される情報は、最適化及びパラメータλに加え、予測システムにおける被説明変数(各商品の売上げ量の予測値)、又は、目的関数(売上高)などを含んでもよい。その場合、例えば、各端末装置の利用者は、最適解の選択において、さらに判断条件(例えば、店舗の在庫数)を加えることができる。つまり、情報処理装置800の利用者は、より正確に、最適解を選択できる。
<その他の実施形態>
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成及び詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成及び詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
<付記>
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
(付記1)
所定の商品の売上げ量の予測に用いられる予測式が商品の価格を含む関数を用いて表されている場合に、売上げ量の予測データと予測式とに基づいて算出される売上げ量の予測値についての予測誤差範囲を確率的に示すパラメータであるパラメータλの入力を受け付けるパラメータ受付手段と、
所定の制約条件の下で、売上げ量と価格との積を含んで定まる売上高を表す目的関数の値を最大とする価格の最適解を算出する最適化手段と、
価格の最適解をパラメータλと関連付けて出力する出力手段と
を含み、
最適化手段が、売上高の予測値を用いて、パラメータλに基づいて確率的に指定された予測誤差の範囲において、目的関数の値の最小値を最大とする価格の最適解を算出する
情報処理装置。
所定の商品の売上げ量の予測に用いられる予測式が商品の価格を含む関数を用いて表されている場合に、売上げ量の予測データと予測式とに基づいて算出される売上げ量の予測値についての予測誤差範囲を確率的に示すパラメータであるパラメータλの入力を受け付けるパラメータ受付手段と、
所定の制約条件の下で、売上げ量と価格との積を含んで定まる売上高を表す目的関数の値を最大とする価格の最適解を算出する最適化手段と、
価格の最適解をパラメータλと関連付けて出力する出力手段と
を含み、
最適化手段が、売上高の予測値を用いて、パラメータλに基づいて確率的に指定された予測誤差の範囲において、目的関数の値の最小値を最大とする価格の最適解を算出する
情報処理装置。
(付記2)
出力手段が、
価格又はパラメータλと関連づけて、売上げ量及び/又は売上高を出力する
付記1に記載の情報処理装置。
出力手段が、
価格又はパラメータλと関連づけて、売上げ量及び/又は売上高を出力する
付記1に記載の情報処理装置。
(付記3)
パラメータ受付手段が、
パラメータλの更新を受け付け、
最適化手段が、
更新されたパラメータλに対して更新された最適解を算出し、
出力手段が、
更新されたパラメータλと、更新された最適解とを関連づけて出力する
付記1又は2に記載の情報処理装置。
パラメータ受付手段が、
パラメータλの更新を受け付け、
最適化手段が、
更新されたパラメータλに対して更新された最適解を算出し、
出力手段が、
更新されたパラメータλと、更新された最適解とを関連づけて出力する
付記1又は2に記載の情報処理装置。
(付記4)
パラメータ受付手段が、
複数のパラメータλを受け付け、
最適化手段が、
複数のパラメータλそれぞれに対して価格の最適解を算出し、
出力手段が、
各パラメータλと、対応する各最適解とを関連づけて出力する
付記1又は2に記載の情報処理装置。
パラメータ受付手段が、
複数のパラメータλを受け付け、
最適化手段が、
複数のパラメータλそれぞれに対して価格の最適解を算出し、
出力手段が、
各パラメータλと、対応する各最適解とを関連づけて出力する
付記1又は2に記載の情報処理装置。
(付記5)
出力手段が、
パラメータλと最適解とを関連付けて表示する表示手段を含み、
パラメータ受付手段が、
パラメータλを受け付ける入力機器を含む
付記1ないし4のいずれか1項に記載の情報処理装置。
出力手段が、
パラメータλと最適解とを関連付けて表示する表示手段を含み、
パラメータ受付手段が、
パラメータλを受け付ける入力機器を含む
付記1ないし4のいずれか1項に記載の情報処理装置。
(付記6)
価格と売上げ量とが、市場の共食いの関係となっている
付記1ないし5のいずれか1項に記載の情報処理装置。
価格と売上げ量とが、市場の共食いの関係となっている
付記1ないし5のいずれか1項に記載の情報処理装置。
(付記7)
所定の商品の売上げ量の予測に用いられる予測式が、商品の価格を含む関数を用いて表されている場合に、売上げ量の予測データと予測式とに基づいて算出される売上げ量の予測値についての予測誤差範囲を確率的に示すパラメータであるパラメータλの入力を受け付け、
所定の制約条件の下で、売上げ量と価格との積を含んで定まる売上高を表す目的関数の値を最大とする価格の最適解を算出し、
価格の最適解をパラメータλと関連付けて出力し、
さらに、
売上高の予測値を用いて、パラメータλに基づいて確率的に指定された予測誤差の範囲において、目的関数の値の最小値を最大とする価格の最適解を算出する
情報処理方法。
所定の商品の売上げ量の予測に用いられる予測式が、商品の価格を含む関数を用いて表されている場合に、売上げ量の予測データと予測式とに基づいて算出される売上げ量の予測値についての予測誤差範囲を確率的に示すパラメータであるパラメータλの入力を受け付け、
所定の制約条件の下で、売上げ量と価格との積を含んで定まる売上高を表す目的関数の値を最大とする価格の最適解を算出し、
価格の最適解をパラメータλと関連付けて出力し、
さらに、
売上高の予測値を用いて、パラメータλに基づいて確率的に指定された予測誤差の範囲において、目的関数の値の最小値を最大とする価格の最適解を算出する
情報処理方法。
(付記8)
所定の商品の売上げ量の予測に用いられる予測式が、商品の価格を含む関数を用いて表されている場合に、売上げ量の予測データと予測式とに基づいて算出される売上げ量の予測値についての予測誤差範囲を確率的に示すパラメータであるパラメータλの入力を受け付ける処理と、
所定の制約条件の下で、売上げ量と価格との積を含んで定まる売上高を表す目的関数の値を最大とする価格の最適解を算出する処理と、
価格の最適解をパラメータλと関連付けて出力する処理と
を含み、さらに、
売上高の予測値を用いて、パラメータλに基づいて確率的に指定された予測誤差の範囲において、目的関数の値の最小値を最大とする価格の最適解を算出する処理
をコンピュータに実行させるプログラムをコンピュータ読み取り可能に記録する不揮発性記録媒体。
所定の商品の売上げ量の予測に用いられる予測式が、商品の価格を含む関数を用いて表されている場合に、売上げ量の予測データと予測式とに基づいて算出される売上げ量の予測値についての予測誤差範囲を確率的に示すパラメータであるパラメータλの入力を受け付ける処理と、
所定の制約条件の下で、売上げ量と価格との積を含んで定まる売上高を表す目的関数の値を最大とする価格の最適解を算出する処理と、
価格の最適解をパラメータλと関連付けて出力する処理と
を含み、さらに、
売上高の予測値を用いて、パラメータλに基づいて確率的に指定された予測誤差の範囲において、目的関数の値の最小値を最大とする価格の最適解を算出する処理
をコンピュータに実行させるプログラムをコンピュータ読み取り可能に記録する不揮発性記録媒体。
この出願は、2016年 2月 3日に出願された米国仮出願62/290568を基礎とする優先権を主張し、その開示の全てをここに取り込む。
100 情報処理装置
101 情報処理装置
110 モデル取得部
120 モデル変換部
130 最適化部
140 出力部
150 モデル作成部
151 データ記憶部
152 パラメータ受信部
153 モデル学習部
154 モデル計算部
300 パラメータ受付部
400 出力部
600 情報処理装置
610 CPU
620 ROM
630 RAM
640 内部記憶装置
650 IOC
660 入力機器
670 表示機器
680 NIC
700 記録媒体
800 情報処理装置
101 情報処理装置
110 モデル取得部
120 モデル変換部
130 最適化部
140 出力部
150 モデル作成部
151 データ記憶部
152 パラメータ受信部
153 モデル学習部
154 モデル計算部
300 パラメータ受付部
400 出力部
600 情報処理装置
610 CPU
620 ROM
630 RAM
640 内部記憶装置
650 IOC
660 入力機器
670 表示機器
680 NIC
700 記録媒体
800 情報処理装置
Claims (10)
- ある商品の販売数を予測する予測式が当該商品の価格の関数で表される場合に、前記予測式に基づいて算出される販売数の予測値について、予測誤差の範囲を確率的に示す指標の入力を受け付ける指標受付手段と、
販売数と前記価格とを含んで定まる売上高を求める目的関数について、制約条件のもとで、前記目的関数で求められる売上高が最大になるように前記価格を最適化する最適化手段と、
を含み、
前記最適化手段は、前記予測値を入力とし、前記指標により示される予測誤差の範囲内において、売上高の最小値を大きくするように前記価格を最適化する
最適化システム。 - 前記最適化手段は、前記予測値を入力とし、前記指標により示される予測誤差の範囲内において、売上高の最小値を最大化するように前記価格を最適化する
請求項1に記載の最適化システム。 - 前記指標と、最適化された前記価格とを関連付けて出力する出力手段を
更に含む
請求項1又は2に記載の最適化システム。 - 前記出力手段が、
前記価格又は前記指標と関連づけて、売上げ量及び/又は前記売上高を出力する
請求項3に記載の最適化システム。 - 前記指標受付手段が、
前記指標の更新を受け付け、
前記最適化手段が、
更新された前記指標に対して更新された最適化された前記価格を算出し、
前記出力手段が、
更新された前記指標と、更新された前記価格とを関連づけて出力する
請求項4に記載の最適化システム。 - 前記指標受付手段が、
複数の前記指標を受け付け、
前記最適化手段が、
複数の前記指標それぞれに対して最適化された前記価格を算出し、
前記出力手段が、
各前記指標と、対応する最適化された前記価格とを関連づけて出力する
請求項4に記載の最適化システム。 - 前記出力手段が、
前記指標と最適化された前記価格とを関連付けて表示する表示手段を含み、
前記指標受付手段が、
前記指標を受け付ける入力機器を含む
請求項4ないし6のいずれか1項に記載の最適化システム。 - 前記価格と前記売上げ量とが、市場の共食いの関係となっている
請求項4ないし7のいずれか1項に記載の最適化システム。 - ある商品の販売数を予測する予測式が当該商品の価格の関数で表される場合に、前記予測式に基づいて算出される販売数の予測値について、予測誤差の範囲を確率的に示す指標の入力を受け付け、
販売数と前記価格とを含んで定まる売上高を求める目的関数について、制約条件のもとで、前記目的関数で求められる売上高が最大になるように前記価格を最適化し、
さらに、前記予測値を入力とし、前記指標により示される予測誤差の範囲内において、売上高の最小値を大きくするように前記価格を最適化する
最適化方法。 - ある商品の販売数を予測する予測式が当該商品の価格の関数で表される場合に、前記予測式に基づいて算出される販売数の予測値について、予測誤差の範囲を確率的に示す指標の入力を受け付ける処理と、
販売数と前記価格とを含んで定まる売上高を求める目的関数について、制約条件のもとで、前記目的関数で求められる売上高が最大になるように前記価格を最適化する処理と、
さらに、前記予測値を入力とし、前記指標により示される予測誤差の範囲内において、売上高の最小値を大きくするように前記価格を最適化する処理と
をコンピュータに実行させるプログラムをコンピュータ読み取り可能に記録する不揮発性記録媒体。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017565599A JP6848884B2 (ja) | 2016-02-03 | 2017-02-01 | 最適化システム、最適化方法、及び、プログラム |
US16/072,228 US20190026660A1 (en) | 2016-02-03 | 2017-02-01 | Optimization system, optimization method, and recording medium |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201662290568P | 2016-02-03 | 2016-02-03 | |
US62/290,568 | 2016-02-03 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2017135322A1 true WO2017135322A1 (ja) | 2017-08-10 |
Family
ID=59500759
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2017/003664 WO2017135322A1 (ja) | 2016-02-03 | 2017-02-01 | 最適化システム、最適化方法、及び、記録媒体 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20190026660A1 (ja) |
JP (1) | JP6848884B2 (ja) |
WO (1) | WO2017135322A1 (ja) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019145006A (ja) * | 2018-02-23 | 2019-08-29 | ヤフー株式会社 | 選択装置、選択方法、及び選択プログラム |
WO2019186996A1 (ja) * | 2018-03-30 | 2019-10-03 | 日本電気株式会社 | モデル推定システム、モデル推定方法およびモデル推定プログラム |
JP2019215778A (ja) * | 2018-06-14 | 2019-12-19 | 株式会社アスコン | サービス提供システム、広告関連サービス提供システム、ユーザ側設備及びユーザ側広告設備 |
JP2020024621A (ja) * | 2018-08-08 | 2020-02-13 | 日本電気株式会社 | 情報処理装置、方法及びプログラム |
JP2020030500A (ja) * | 2018-08-21 | 2020-02-27 | 株式会社日立製作所 | 施策探索装置、方法およびプログラム |
JP2020123306A (ja) * | 2019-07-10 | 2020-08-13 | 三菱商事株式会社 | 販売システム、携帯端末、ストアコンピュータ |
JP2020201917A (ja) * | 2019-06-10 | 2020-12-17 | 株式会社パラダイムシフト | 情報提供装置および情報提供方法 |
JPWO2021079457A1 (ja) * | 2019-10-24 | 2021-04-29 |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11875371B1 (en) | 2017-04-24 | 2024-01-16 | Skyline Products, Inc. | Price optimization system |
JP6828830B2 (ja) * | 2017-11-02 | 2021-02-10 | 日本電気株式会社 | 評価システム、評価方法および評価用プログラム |
US11307229B2 (en) * | 2017-11-27 | 2022-04-19 | Ramot At Tel-Aviv University Ltd. | Power daemon |
JP7176568B2 (ja) * | 2018-09-14 | 2022-11-22 | 日本電気株式会社 | 情報処理装置、生産計画決定方法、及びプログラム |
US20210110445A1 (en) * | 2019-07-24 | 2021-04-15 | Somnath Banerjee | Multi-layered system for heterogeneous pricing decisions by continuously learning market and hotel dynamics |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006011542A (ja) * | 2004-06-22 | 2006-01-12 | Ns Solutions Corp | 需要予測装置、需要予測方法及びプログラム |
JP2010061179A (ja) * | 2008-09-01 | 2010-03-18 | Hitachi Ltd | 計画最適化装置、計画最適化プログラム、および計画最適化方法 |
JP2012226573A (ja) * | 2011-04-20 | 2012-11-15 | Yahoo Japan Corp | 予測モデル生成装置及び方法 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6988076B2 (en) * | 1997-05-21 | 2006-01-17 | Khimetrics, Inc. | Strategic planning and optimization system |
WO2002056207A1 (en) * | 2001-01-09 | 2002-07-18 | Best Buy Concepts, Inc. | Retail price and promotion modeling system and method |
US20040267676A1 (en) * | 2003-06-30 | 2004-12-30 | Yan Feng | Method and apparatus for optimizing product distribution strategies and product mixes to increase profitability in complex computer aided pricing of products and services |
US7379890B2 (en) * | 2003-10-17 | 2008-05-27 | Makor Issues And Rights Ltd. | System and method for profit maximization in retail industry |
EP1550964A1 (en) * | 2003-12-30 | 2005-07-06 | Sap Ag | A method and an appratus of forecasting demand for a product in a managed supply chain |
US8165910B2 (en) * | 2004-03-08 | 2012-04-24 | Sap Aktiengesellschaft | Method and system for price planning |
US8374906B1 (en) * | 2008-09-30 | 2013-02-12 | Zilliant Incorporated | Method and system for generating pricing recommendations |
US8676632B1 (en) * | 2009-07-16 | 2014-03-18 | Overstock.Com, Inc. | Pricing and forecasting |
-
2017
- 2017-02-01 WO PCT/JP2017/003664 patent/WO2017135322A1/ja active Application Filing
- 2017-02-01 US US16/072,228 patent/US20190026660A1/en not_active Abandoned
- 2017-02-01 JP JP2017565599A patent/JP6848884B2/ja active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006011542A (ja) * | 2004-06-22 | 2006-01-12 | Ns Solutions Corp | 需要予測装置、需要予測方法及びプログラム |
JP2010061179A (ja) * | 2008-09-01 | 2010-03-18 | Hitachi Ltd | 計画最適化装置、計画最適化プログラム、および計画最適化方法 |
JP2012226573A (ja) * | 2011-04-20 | 2012-11-15 | Yahoo Japan Corp | 予測モデル生成装置及び方法 |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7249103B2 (ja) | 2018-02-23 | 2023-03-30 | ヤフー株式会社 | 選択装置、選択方法、及び選択プログラム |
JP2019145006A (ja) * | 2018-02-23 | 2019-08-29 | ヤフー株式会社 | 選択装置、選択方法、及び選択プログラム |
WO2019186996A1 (ja) * | 2018-03-30 | 2019-10-03 | 日本電気株式会社 | モデル推定システム、モデル推定方法およびモデル推定プログラム |
JPWO2019186996A1 (ja) * | 2018-03-30 | 2021-03-11 | 日本電気株式会社 | モデル推定システム、モデル推定方法およびモデル推定プログラム |
JP2019215778A (ja) * | 2018-06-14 | 2019-12-19 | 株式会社アスコン | サービス提供システム、広告関連サービス提供システム、ユーザ側設備及びユーザ側広告設備 |
JP2020024621A (ja) * | 2018-08-08 | 2020-02-13 | 日本電気株式会社 | 情報処理装置、方法及びプログラム |
JP7212231B2 (ja) | 2018-08-08 | 2023-01-25 | 日本電気株式会社 | 情報処理装置、方法及びプログラム |
JP6995717B2 (ja) | 2018-08-21 | 2022-01-17 | 株式会社日立製作所 | 施策探索装置、方法およびプログラム |
JP2020030500A (ja) * | 2018-08-21 | 2020-02-27 | 株式会社日立製作所 | 施策探索装置、方法およびプログラム |
JP2020201917A (ja) * | 2019-06-10 | 2020-12-17 | 株式会社パラダイムシフト | 情報提供装置および情報提供方法 |
JP7316562B2 (ja) | 2019-06-10 | 2023-07-28 | 株式会社パラダイムシフト | 情報提供装置および情報提供方法 |
WO2021006032A1 (ja) * | 2019-07-10 | 2021-01-14 | 三菱商事株式会社 | 販売システム、携帯端末、ストアコンピュータ |
JP2020123306A (ja) * | 2019-07-10 | 2020-08-13 | 三菱商事株式会社 | 販売システム、携帯端末、ストアコンピュータ |
JPWO2021079457A1 (ja) * | 2019-10-24 | 2021-04-29 | ||
JP7497732B2 (ja) | 2019-10-24 | 2024-06-11 | 日本電気株式会社 | 最適化装置、最適化方法及び最適化プログラム |
Also Published As
Publication number | Publication date |
---|---|
US20190026660A1 (en) | 2019-01-24 |
JPWO2017135322A1 (ja) | 2018-11-29 |
JP6848884B2 (ja) | 2021-03-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6848884B2 (ja) | 最適化システム、最適化方法、及び、プログラム | |
JP7114900B2 (ja) | 情報処理装置、情報処理方法、及び、プログラム | |
Clark et al. | Evaluating direct multistep forecasts | |
WO2017056368A1 (ja) | 最適化システム、最適化方法および最適化プログラム | |
US10878491B2 (en) | Advanced data science systems and methods useful for auction pricing optimization over network | |
US20150254589A1 (en) | System and Method to Provide Inventory Optimization in a Multi-Echelon Supply Chain Network | |
WO2017094207A1 (ja) | 情報処理システム、情報処理方法および情報処理用プログラム | |
WO2017056367A1 (ja) | 情報処理システム、情報処理方法および情報処理用プログラム | |
US11694286B2 (en) | Generating rental rates in a real estate management system | |
US20210192435A1 (en) | Systems and methods for safety stock optimization for products stocked at retail facilities | |
JP5242988B2 (ja) | 統合需要予測装置、統合需要予測方法、及び統合需要予測プログラム | |
US20160162830A1 (en) | Inventory management based on automatically generating recommendations | |
WO2018150646A1 (ja) | 連結経営管理装置、連結経営管理支援システム、連結経営管理支援方法及びプログラム | |
WO2017056366A1 (ja) | 最適化システム、最適化方法および最適化プログラム | |
Parsa et al. | Quantifying the benefits of continuous replenishment program for partner evaluation | |
US10095989B2 (en) | Product pricing optimizer | |
JP6520228B2 (ja) | 電力需要量予測システム、電力需要量予測方法及びプログラム | |
JP5551806B2 (ja) | 統合需要予測装置、統合需要予測方法、及び統合需要予測プログラム | |
US20100268572A1 (en) | Inventory management system in a print- production environment | |
Wang et al. | Short-term liner shipping bunker procurement with swap contracts | |
Triqui Sari et al. | Cooperative inventory planning in a distribution network | |
JP2020119388A (ja) | 情報処理装置、情報処理方法及びプログラム | |
CN114626660A (zh) | 用于激增调整预报的方法和装置 | |
Jiao et al. | A financial model of flexible manufacturing systems planning under uncertainty: identification, valuation and applications of real options | |
JP6018105B2 (ja) | 予測システム、予測方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 17747477 Country of ref document: EP Kind code of ref document: A1 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2017565599 Country of ref document: JP |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 17747477 Country of ref document: EP Kind code of ref document: A1 |