WO2017056366A1 - 最適化システム、最適化方法および最適化プログラム - Google Patents

最適化システム、最適化方法および最適化プログラム Download PDF

Info

Publication number
WO2017056366A1
WO2017056366A1 PCT/JP2016/003685 JP2016003685W WO2017056366A1 WO 2017056366 A1 WO2017056366 A1 WO 2017056366A1 JP 2016003685 W JP2016003685 W JP 2016003685W WO 2017056366 A1 WO2017056366 A1 WO 2017056366A1
Authority
WO
WIPO (PCT)
Prior art keywords
optimization
programming problem
unit
equation
solution
Prior art date
Application number
PCT/JP2016/003685
Other languages
English (en)
French (fr)
Inventor
遼平 藤巻
伸志 伊藤
Original Assignee
日本電気株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 日本電気株式会社 filed Critical 日本電気株式会社
Priority to JP2017542682A priority Critical patent/JP6791151B2/ja
Publication of WO2017056366A1 publication Critical patent/WO2017056366A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N99/00Subject matter not provided for in other groups of this subclass
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Administration; Management
    • G06Q10/04Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"

Definitions

  • the present invention relates to an optimization system that performs mathematical optimization, an optimization method, and an optimization program.
  • Patent Literature 1 describes a learning method for automatically separating and analyzing mixed data.
  • Mathematical programming includes, for example, methods related to continuous variables such as linear programming, quadratic programming, and semi-definite programming, and methods related to discrete variables such as mixed integer programming.
  • Patent Document 2 describes a method for determining an optimal charging schedule by applying mathematical programming to collected data.
  • the inventor of the present invention learns a model that predicts data that is not observed from past data by the method described in Patent Document 2, for example, and based on the future prediction result based on the prediction model.
  • the prediction model based on machine learning described above may be based on a nonlinear basis function.
  • nonlinear transformation such as price square or logarithmic conversion of price
  • the mathematical optimization objective function sales for a certain period in the future
  • this mathematical optimization can be efficiently performed using a general method. Difficult to solve. Therefore, it is preferable that a mathematical optimization solution can be obtained at high speed and with high accuracy even when the prediction model used for optimization is based on a nonlinear basis function.
  • the present invention provides an optimization system, an optimization method, and an optimization method capable of obtaining a mathematical optimization solution at high speed and with high accuracy even when a prediction model used for optimization is based on a nonlinear basis function.
  • the purpose is to provide a computerized program.
  • An optimization system is an optimization system for optimizing a plan represented by a binary quadratic programming problem.
  • the optimization system relaxes a binary quadratic programming problem into a semi-definite programming problem, and the semi-definite planning.
  • An optimization unit for deriving a solution of the problem is provided.
  • An optimization method is an optimization method for optimizing a plan represented by a binary quadratic programming problem, and relaxes the binary quadratic programming problem into a semi-deterministic programming problem. It is characterized by deriving a solution to the problem.
  • An optimization program is an optimization program that is applied to a computer that optimizes a plan represented by a binary quadratic programming problem.
  • the computer program, the binary quadratic programming problem is converted into a semi-definite programming problem. It is characterized by executing an optimization process that relaxes and derives a solution of the semi-definite programming problem.
  • the above-described technical means enables a mathematical optimization solution to be obtained at high speed and with high accuracy even when a prediction model used for optimization is based on a nonlinear basis function. There is a special effect.
  • FIG. 1 is a block diagram showing a configuration example of a first embodiment of an optimization system according to the present invention.
  • the optimization system of this embodiment includes a training data storage unit 10, a learning device 20, and an optimization device 30.
  • the optimization system illustrated in FIG. 1 corresponds to the information processing system in the present invention.
  • the training data storage unit 10 stores various types of training data that the learning device 20 uses for learning the prediction model.
  • the training data storage unit 10 stores past data acquired in the past for variables (object variables) output as optimization results by the optimization device 30 described later. For example, when the optimization device 30 tries to optimize the prices of a plurality of products, the training data storage unit 10 uses the price of each product corresponding to the explanatory variable as the actual data acquired in the past, or the explained variable. The sales volume of the product corresponding to is stored.
  • training data storage unit 10 may store external information such as weather and calendar information in addition to the actual data of the explained variable and the actual data of the explanatory variable acquired in the past.
  • the learning device 20 learns a prediction model for each set explanatory variable by machine learning based on various training data stored in the training data storage unit 10.
  • the prediction model learned in the present embodiment is represented by a function of a variable (objective variable) output as an optimization result by the optimization device 30 described later. That is, the objective variable (or its function) is an explanatory variable of the prediction model.
  • the learning device 20 determines each item based on past sales information (price, sales amount, etc.) and external information (weather, temperature, etc.).
  • a sales volume prediction model using the price of a product as an explanatory variable is generated for each target product.
  • the generation method of the prediction model is arbitrary, and for example, a simple regression method may be used, or a learning method described in Patent Document 1 may be used.
  • a set of indexes to be optimized is denoted as ⁇ m
  • m 1,..., M ⁇ .
  • the optimization target is the price of each product
  • M corresponds to the number of products.
  • the content to be predicted for each optimization target m is denoted as S m .
  • S m corresponds to the sales volume of the product m.
  • P m or P'm the contents optimized for each optimized m (i.e., objective variables of optimization) the referred to as P m or P'm.
  • P m corresponds to the price of the product m.
  • a prediction model for predicting S m is, for example, an expression exemplified below: It is represented by 1.
  • f d is a feature generation function and represents a transformation for P ′ m .
  • D is the number of feature generation function, the number of conversion to be performed on P'm.
  • the content of f d is arbitrary, and may be, for example, a function that performs linear transformation or a function that performs nonlinear transformation such as logarithm or polynomial.
  • f d represents, for example, a sales response regarding the price.
  • the sales response includes, for example, a sales response that improves when the price is reduced to some extent, a reaction that worsens, and the sales volume is squared in response to the price reduction.
  • g d is extrinsic features (for example above, weather, etc.), D'is the number of external features. Note that the external features may be converted in advance.
  • ⁇ , ⁇ , and ⁇ in Equation 1 are constant terms and coefficients of a regression equation obtained as a result of machine learning by the learning device 20, respectively.
  • the prediction model is learned based on the explained variable (S m ) and the explanatory variable (P m , various external features, etc.), and between the explained variable and the explanatory variable. It is expressed by a function of explanatory variables.
  • the superscript t represents a time index. This corresponds to, for example, the case where the training data set is slid in time by a window function and the prediction formula is updated with time t.
  • the prediction model is learned based on the performance data of the optimization objective variable acquired in the past, and is represented by a function having the objective variable as an explanatory variable.
  • the learning device 20 uses the result data acquired in the past, it is not necessary to manually generate training data.
  • the prediction model is learned by machine learning, it is possible to cope with a large amount of target data, and the model is automatically re-learned to follow the sales trend that changes with time. be able to.
  • the learning device 20 inputs the generated prediction model to the optimization device 30.
  • Optimizer 30 optimizes the intended content. Specifically, the optimization device 30 satisfies the various constraint conditions (details will be described later) set for the objective variable and the like so that the value of the objective function is optimum (maximum, minimum, etc.). Optimize variable values. In the example described above, the optimization device 30 optimizes the prices of a plurality of products.
  • the optimization apparatus 30 includes a prediction model input unit 31, an external information input unit 32, a storage unit 33, a problem storage unit 34, a constraint condition input unit 35, an optimization unit 37, an output unit 38, And an objective function generator 39.
  • the prediction model input unit 31 is a device that inputs a prediction model. Specifically, the prediction model input unit 31 inputs the prediction model learned by the learning device 20. The prediction model input unit 31 also inputs parameters necessary for performing the optimization process when inputting the prediction model. The prediction model input unit 31 may input a prediction model manually corrected by the operator with respect to the prediction model learned by the learning device 20. In addition, since the prediction model input part 31 has received the prediction model utilized with the optimization apparatus 30, it can be said that it is a prediction model reception part which receives a prediction model.
  • the external information input unit 32 inputs external information used for optimization other than the prediction model. For example, when trying to optimize the price of next week in the above-described example, the external information input unit 32 may input information on the weather of next week. Further, for example, when the number of visitors to the store next week can be predicted, the external information input unit 32 may input information related to the number of visitors to the store next week. As in this example, the external information may be generated by a prediction model based on machine learning. The external information input here is applied to explanatory variables of the prediction model, for example.
  • the storage unit 33 stores the prediction model input by the prediction model input unit 31.
  • the storage unit 33 stores external information input by the external information input unit 32.
  • the storage unit 33 is realized by, for example, a magnetic disk device.
  • the problem storage unit 34 stores an evaluation scale for optimization by the optimization unit 37. Specifically, the problem storage unit 34 stores a mathematical programming problem to be solved by optimization. The mathematical programming problem is stored in advance in the problem storage unit 34 by a user or the like.
  • the problem storage unit 34 is realized by, for example, a magnetic disk device.
  • the objective function or the constraint condition of the mathematical programming problem is defined so that the prediction model becomes a parameter. That is, the objective function or constraint condition of this embodiment is defined as a functional of the prediction model.
  • the problem storage unit 34 stores a mathematical programming problem for maximizing the total sales amount.
  • the optimization unit 37 optimizes the price of each product so as to maximize the total sales amount. Since the sales of each product can be defined by the product of the price of the product and the sales quantity predicted by the prediction model, the problem storage unit 34 stores, for example, a mathematical programming problem specified by Equation 3 shown below. May be.
  • T te is the time index of the period to be optimized. For example, in the case of maximizing the sum total of sales for the next week and when the unit of time is “day”, T te is a set of dates for one week from the next day.
  • the constraint condition input unit 35 inputs constraint conditions for optimization.
  • the content of the constraint condition is arbitrary.
  • a business constraint is input as the constraint condition.
  • a constraint condition for example, P 1 ⁇ P 2
  • P 1 ⁇ P 2 a constraint condition that defines the size of the price P 1 and the price P 2 of the two products may be imposed.
  • the constraint condition input unit 35 may operate as a prediction model reception unit that receives an input of the prediction model, or reads the prediction model stored in the storage unit 33. Also good. Then, the constraint condition input unit 35 may generate a constraint condition using the acquired prediction model as an argument.
  • the objective function generator 39 generates an objective function for the mathematical programming problem. Specifically, the objective function generation unit 39 generates an objective function of a mathematical programming problem using the prediction model as a parameter.
  • the objective function generation unit 39 reads, for example, a prediction model applied to the mathematical programming problem stored in the problem storage unit 34 from the storage unit 33, and generates an objective function.
  • a plurality of prediction models are learned by machine learning according to the contents to be predicted.
  • the problem storage unit 34 also stores a plurality of prediction models.
  • the objective function generation unit 39 may read a plurality of prediction models applied to the mathematical programming problem stored in the problem storage unit 34 from the storage unit 33 and generate an objective function.
  • Optimizer 37 optimizes the target content based on the various pieces of input information. Specifically, the optimization unit 37 optimizes the value of the objective variable so that the value of the objective function is optimized. As described above, since various constraint conditions are defined for the objective variable and the like, the optimization unit 37 satisfies the constraint condition and optimizes the objective variable so that the value of the objective function is optimal (maximum, minimum, etc.). Optimize the value of.
  • the optimization unit 37 solves the mathematical programming problem so as to optimize the value of the objective function whose parameter is the prediction model as described above.
  • the optimization unit 37 may optimize the prices of a plurality of products by solving the mathematical programming problem specified by Equation 3 described above.
  • the optimization unit 37 can also be said to calculate an objective variable that optimizes the objective function under the constraint condition.
  • the output unit 38 outputs the optimization result obtained by the optimization unit 37.
  • the prediction model input unit 31, the external information input unit 32, the constraint condition input unit 35, the optimization unit 37, the output unit 38, and the objective function generation unit 39 are programs (information processing programs or It is realized by a CPU of a computer that operates according to an optimization program.
  • the program is stored in the storage unit 33 of the optimization device 30, and the CPU reads the program, and according to the program, the prediction model input unit 31, the external information input unit 32, the constraint condition input unit 35, and the optimization unit 37, the output unit 38, and the objective function generation unit 39 may operate.
  • the prediction model input unit 31, the external information input unit 32, the constraint condition input unit 35, the optimization unit 37, the output unit 38, and the objective function generation unit 39 are respectively dedicated hardware. It may be realized.
  • the prediction model input unit 31, the external information input unit 32, the constraint condition input unit 35, the optimization unit 37, the output unit 38, and the objective function generation unit 39 each have an electric circuit configuration (circuitry). It may be realized.
  • the electric circuit configuration (circuitry) is a term that conceptually includes a single device (single device), a plurality of devices (multiple devices), a chipset (chipset), or a cloud (cloud).
  • the optimization system according to the present invention may be configured by connecting two or more physically separated devices in a wired or wireless manner.
  • FIG. 2 is a flowchart showing an operation example of the optimization system of this embodiment.
  • the learning device 20 learns a prediction model for each set explained variable based on various types of training data stored in the training data storage unit 10 (step S11).
  • the prediction model input unit 31 inputs the prediction model generated by the learning device 20 (step S12) and stores it in the storage unit 33.
  • the external information input unit 32 inputs external information (step S13) and stores it in the storage unit 33.
  • the objective function generation unit 39 reads one or more prediction models input to the prediction model input unit 31 and the mathematical programming problem stored in the problem storage unit 34. Then, the objective function generation unit 39 generates an objective function for the mathematical programming problem (step S14). On the other hand, the constraint condition input unit 35 inputs a constraint condition when performing optimization (step S15).
  • the optimization unit 37 optimizes the value of the objective variable so that the value of the objective function is optimized under the input constraint conditions (step S16).
  • the wrinkle prediction model input unit 31 learns based on the explained variable and the explanatory variable, shows the relationship between the explained variable and the explanatory variable, and is expressed by a function of the explanatory variable. Accept the prediction model. Then, the optimization unit 37 calculates an objective variable that optimizes the objective function with respect to the objective function having the accepted prediction model as an argument under the constraint condition.
  • the objective function of the mathematical programming problem is defined by the objective function generation unit 39 as an argument of the prediction model, and the optimization unit 37 determines the mathematical programming problem under the constraint condition using the prediction model as an argument.
  • the value of the objective variable is optimized so that the value of the objective function of is maximized.
  • a method of optimizing the prices of a plurality of products so as to maximize the total sales amount is exemplified.
  • the optimization unit 37 may optimize the prices of a plurality of products so as to maximize the profit.
  • the sandwich group includes four types of sandwiches A, B, C, and D.
  • the sales of each of the sandwiches A, B, C and D are maximized so that the sum of the sales of the sandwich group, ie, the sum of the sales of the four sandwiches A, B, C and D, is maximized. It solves the problem of optimizing prices.
  • the training data storage unit 10 stores data indicating the past sales of each sandwich and the past sales price of each sandwich.
  • the training data storage unit 10 may store external information such as weather and calendar information.
  • the learning device 20 learns, for example, a prediction model for predicting the sales quantity of each sandwich by machine learning based on various training data stored in the training data storage unit 10.
  • the sales volume of the sandwich A is considered to be affected by the sales price of the sandwich A itself.
  • the sales volume of the sandwich A is also considered to be affected by the sales price of the sandwiches displayed on the product shelf together with the sandwich A, that is, sandwiches B, C and D. This is because the customer who visits the retail store is considered to selectively purchase a preferred sandwich from among the sandwiches A, B, C, and D that are simultaneously displayed on the merchandise shelf.
  • this cannibalization means that if you lower the price of a product, the sales volume of that product will increase, while the sales volume of other competing products (multiple products with similar properties and characteristics) will decrease. It is a relationship.
  • the prediction model for predicting the sales volume S A (explained variable) of the sandwich A is, for example, the price P A of the sandwich A , the price P B of the sandwich B , the price P C of the sandwich C, and the price P D of the sandwich D.
  • the price P A of the sandwich A is, for example, the price P A of the sandwich A , the price P B of the sandwich B , the price P C of the sandwich C, and the price P D of the sandwich D.
  • a prediction model may be generated that also considers such external information.
  • a prediction model considering the passage of time may be generated.
  • the prediction model includes the explained variable (the sales volume of the sandwich in the present embodiment) and the explanatory variable (the sales price of the sandwich and the sales price of the competing sandwich in the present embodiment). Etc.), the relationship between the explained variable and the explanatory variable is shown, and is expressed by a function of the explanatory variable.
  • the optimization device 30 optimizes the target contents, that is, the selling prices of the sandwiches A, B, C, and D (that is, P A , P B , P C, and P D ). Specifically, the optimization device 30 satisfies the various constraints defined for the objective variables (ie, P A , P B , P C, and P D ) and the like, while maintaining the objective function (ie, the sandwich group).
  • the values of the objective variables that is, P A , P B , P C and P D
  • the objective function is expressed by, for example, Equation 3 described above.
  • Equation 3 an example in which the objective function is defined using the prediction model as an argument will be described, and the objective function handled by the optimization device 30 (that is, the sum of the sales of the sandwich group) can be expressed by Equation 3 illustrated above. it can.
  • optimization device 30 stores in advance the “shape” of the objective function as expressed by Equation 3 described above.
  • Optimization unit 30, prediction model learning device 20 is generated (i.e. predictive model that predicts S A prediction model for predicting the S B, prediction model for predicting a predictive model and S D to predict the S C) the By substituting into the “shape” of the objective function, the objective function of the optimization problem is generated.
  • the optimization apparatus 30 sets the values of objective variables (that is, the values of P A , P B , P C, and P D ) for optimizing the objective function under the constraint condition for the objective function having the prediction model as an argument. calculate.
  • the application example of the first embodiment has been described above using a simple specific example.
  • the selling price of each product is optimized so that the total of the sales of the four products is maximized.
  • the prediction target is not limited to the product, and may be a service, for example.
  • a future demand forecast line of a product is obtained in a retail store, it is possible to optimize ordering and inventory based on demand.
  • the number of products for which the demand prediction line can be drawn manually is limited, and it is not realistic to repeat the demand prediction for every ordering operation once every several hours.
  • the “shape” of the objective function is defined, and the specific objective function is designed so that the prediction model is defined as an argument. Even in the situation where input data exists, the objective function of the mathematical programming problem can be generated efficiently. Further, in the present embodiment, optimization can be appropriately performed even in a situation where a complicated correlation exists between a plurality of large amounts of data as in the above cannibalization.
  • the optimization system of this embodiment may be applied to, for example, a case of optimizing the product shelf allocation.
  • the learning device 20 learns, for example, a prediction model of the sales volume S m of the product m using a linear regression model as follows. P is the price of the product, H is the position of the shelf, and ⁇ m is a parameter.
  • the optimization device 30 may optimize P and H so as to maximize the sales (specifically, the sum of products of the price P m of the product m and the sales quantity S m ). Also in this case, arbitrary business constraints (for example, price conditions) may be set.
  • prices for products such as retail price optimization, hotel room price optimization, air ticket price optimization, parking lot price optimization, campaign optimization, etc.
  • the optimization method of the present invention can be applied to the optimization of the objective function expressed by the product of the demand for the product (a function of the prices of a plurality of products).
  • optimization of a hotel price will be described as a second application example.
  • the purpose is to maximize sales or profit
  • the objective function is represented by a function for calculating sales or profit.
  • the objective variable for example, the charge setting of a plan using each room of a hotel can be mentioned.
  • the “sandwich” shown in the retail example corresponds to, for example, “a plan with a single room breakfast” in this application example.
  • Examples of the external information include weather and seasons, events that are held around the hotel, and the like.
  • the objective function is represented by a function for calculating the sales or profit.
  • contents considering price and stock are selected.
  • a variable indicating at what time the room used in each plan is to be sold and as a second objective variable, what time is the room used in each plan.
  • the external information includes, for example, weather, seasons, and events that are held around the hotel.
  • the objective function is represented by a function for calculating the sales or profit.
  • the content in consideration of the price and the stock is selected as in the third application example. If each air ticket represents the route to the destination and the type (class) of the seat, for example, as a first target variable, a variable indicating how much and at what time each air ticket is sold, Examples of the objective variable include a variable indicating how many tickets are sold at which time.
  • examples of external information include seasons and events to be held.
  • the objective function is represented by a function for calculating the sales or profit.
  • the objective variable include a parking fee for each time zone and place.
  • external information for example, parking fees of surrounding parking lots, location information (a residential area, an office district, a distance from a station, etc.) can be cited.
  • FIG. 3 is an explanatory diagram showing a configuration example of an optimization system according to this modification.
  • the optimization system illustrated in FIG. 3 includes a data preprocessing unit 150, a data preprocessing unit 160, a learning engine 170, and an optimization device 180.
  • the data preprocessing unit 150 and the data preprocessing unit 160 have a function of performing general processing such as filling in missing values for each data.
  • the learning engine 170 corresponds to the learning device 20 of the first embodiment
  • the optimization device 180 corresponds to the optimization device 30 of the first embodiment.
  • analysis data 110d and prediction data 120d are generated from analysis / prediction target data 100d.
  • the analysis / prediction target data 100d includes, for example, external information 101d such as weather and calendar data, sales / price information 102d, product information 103d, and the like.
  • the analysis data 110d is data used by the learning engine 170 for learning, and corresponds to data stored in the training data storage unit 10 of the first embodiment.
  • the prediction data 120d is external data and other data necessary for prediction, and specifically is the value of an explanatory variable in the prediction model.
  • the prediction data 120d corresponds to a part or all of the data stored in the storage unit 33 of the first embodiment.
  • the data preprocessing unit 150 generates the analysis data 110d from the analysis / prediction target data 100d
  • the data preprocessing unit 160 generates the prediction data 120d from the analysis / prediction target data 100d.
  • the learning engine 170 learns using the analysis data 110d and outputs a prediction model 130d.
  • the optimization device 180 performs an optimization process with the prediction model 130d and the prediction data 120d as inputs.
  • each data (analysis / prediction target data 110d (specifically, external information 101d, sales / price information 102d, and product information 103d), analysis data 110d, and prediction data 120d illustrated in FIG. ) Is held in a database of a storage unit (not shown) in the optimization system, for example.
  • an objective function to be optimized is defined with a prediction model as an argument.
  • the prediction data is also an input for optimization. That is, the present invention is also characterized in that the prediction model and the prediction data are input for optimization as illustrated in FIG.
  • Embodiment 2 a second embodiment of the optimization system according to the present invention will be described.
  • a model for predicting data that is not observed from past data is machine-learned, and an objective function and constraint conditions for mathematical programming are automatically generated based on future prediction results based on the prediction model.
  • a method of performing optimization has been described.
  • the prediction model based on machine learning described above may be based on a nonlinear basis function.
  • nonlinear transformation such as price square or logarithmic conversion of price
  • the mathematical optimization objective function sales for a certain period in the future
  • this mathematical optimization can be efficiently performed using a general method. Difficult to solve.
  • FIG. 4 is a block diagram showing a configuration example of the second embodiment of the optimization system according to the present invention.
  • the optimization system of the present embodiment includes a training data storage unit 10, a learning device 20, and an optimization device 40.
  • the optimization system illustrated in FIG. 4 corresponds to the information processing system in the present invention.
  • the contents of the training data storage unit 10 and the learning device 20 are the same as those in the first embodiment.
  • the optimization device 40 includes a prediction model input unit 31, an external information input unit 32, a storage unit 33, a problem storage unit 34, a constraint condition input unit 35, a candidate point input unit 36, and an optimization unit 37. And an output unit 38 and an objective function generation unit 39.
  • the optimization device 40 is a device that optimizes the target content, as in the first embodiment. However, the optimization device 40 is different from the optimization device 30 of the first embodiment in that the optimization device 40 further includes a candidate point input unit 36. Then, the optimization unit 37 of the present embodiment performs optimization considering the input of the candidate point input unit 36. The contents of other configurations are the same as those in the first embodiment.
  • the candidate point input unit 36 inputs candidate points for optimization.
  • Candidate points are discrete values that are candidates for objective variables. For example, in the case of the above-described example, price candidates (for example, no discount, 5% discount, 7% discount, etc.) can be cited as candidate points. By inputting such candidate points, the cost of optimization can be reduced.
  • FIG. 5 is an explanatory diagram showing an example of a screen on which the candidate point input unit 36 receives input of candidate points from the user.
  • the candidate point input unit 36 displays a list of prices of products used in the linear regression model on the left side, and displays a list of price candidates to be set for the prices of each product on the right side. Indicates that That is, the candidate point input unit 36 displays a list of target variables to be optimized and candidates for values that the target variable can take, and receives and inputs the selected target variable candidates.
  • the operator has set four candidates, that is, no discount, 1% discount, 2% discount, and 5% discount as the price candidates for sandwich A (200 yen).
  • information indicating a discount is displayed as a candidate for the target variable, but the candidate point input unit 36 displays specific price candidate values (for example, 190 yen, 200 yen, 210 yen).
  • a candidate value of 220 yen may be displayed.
  • a set of indexes of contents to be optimized is denoted as ⁇ k
  • k 1,..., K ⁇ .
  • K corresponds to the number of price candidates.
  • P mk with a superscript bar indicates a price candidate for the product m.
  • the k-th indicator of m is denoted as Z mk .
  • Z mk satisfies the following conditions.
  • the price P m of the product m is defined by Equation 4 exemplified below. That is, by this definition, it can be said that the price P m that is the objective variable is discretized.
  • Equation 1 described above can be modified as follows.
  • Equation 3 described above can be modified as Equation 5 illustrated below.
  • Z (Z 11 ,..., Z 1K ,..., Z MK ).
  • the optimization unit 37 may optimize the prices of a plurality of products by solving the mathematical programming problem specified by Equation 3 described above. Further, when candidate points are input, the optimization unit 37 may optimize the prices of a plurality of products by solving the mathematical programming problem of Equation 5 described above.
  • the constraint condition input unit 35 may also accept input in consideration of candidate points.
  • a specific example of the constraint condition set in the above-described product optimization will be described.
  • the price per ballpoint of a set of 6 ballpoint pens is expected to be lower than the price of a single ballpoint pen. Is done.
  • This type of constraint is defined by Equation 6 illustrated below.
  • Equation 6 PC represents a set of index pairs to which the constraint condition is applied, and w m, n represents a weight. PC and w m, n are given in advance.
  • Equation 5 the objective function
  • [Q] i, j is the (i, j) -th element of the matrix Q
  • [r] i is the i-th element of the vector r. Therefore, Q described above is not a symmetric matrix and is not a semi-definite value.
  • This problem is a kind of mixed integer quadratic programming problem called non-convex radix (0-1 integer) quadratic programming problem. This problem can be solved efficiently by transforming it into a mixed integer programming problem.
  • Equation 7 described above can be newly formulated as Equation 9 illustrated below.
  • the optimization unit 37 may optimize the prices of a plurality of products so as to maximize the formula transformed in this way.
  • the optimization unit 37 may solve the mathematical programming problem of Equation 3 described above.
  • the prediction model input unit 31, the external information input unit 32, the constraint condition input unit 35, the candidate point input unit 36, the optimization unit 37, the output unit 38, and the objective function generation unit 39 are a program ( This is realized by a CPU of a computer that operates according to an information processing program or an optimization program.
  • the prediction model input unit 31, the external information input unit 32, the constraint condition input unit 35, the candidate point input unit 36, the optimization unit 37, the output unit 38, and the objective function generation unit 39 are: Each may be realized by dedicated hardware. Moreover, the prediction model input unit 31, the external information input unit 32, the constraint condition input unit 35, the candidate point input unit 36, the optimization unit 37, the output unit 38, and the objective function generation unit 39 are: Each may be realized by an electric circuit configuration (circuitry IV).
  • FIG. 6 is a flowchart showing an operation example of the optimization system of the present embodiment.
  • the processes from step S11 to step S15 from the input of the learned model and external information to generation of the objective variable and the input of the constraint conditions are the same as the contents shown in FIG.
  • the candidate point input unit 36 inputs candidate points that are candidates for possible values of the objective variable (step S18).
  • the number of candidate points input here may be one or plural.
  • the optimization unit 37 optimizes the value of the objective variable so that the value of the objective function is optimized based on the input candidate points and the input constraint conditions (step S19).
  • the optimization system that optimizes the value of the objective variable so as to optimize the value of the objective function of the mathematical programming problem has been described.
  • the prediction model input unit 31 inputs a linear regression model represented by a function having the objective variable of the mathematical programming problem as an explanatory variable.
  • the candidate point input unit 36 inputs discrete candidates (candidate points) of values that the objective variable can take for the objective variable included in the linear regression model.
  • the optimization unit 37 calculates an objective variable that optimizes the objective function of the mathematical programming problem using the linear regression model as an argument. At that time, the optimization unit 37 selects candidate points for optimizing the objective variable and calculates the objective variable.
  • the optimizing unit 37 optimizes the objective function using the prediction model represented by the linear regression equation exemplified in Equation 1 described above as a parameter.
  • the linear regression equation of the formula 1, at least a portion of the explanatory variables and represented by a non-linear function f d.
  • a certain price candidate is determined in advance for optimization.
  • the prediction model S m expressed in the above-described formula 1 is obtained by applying a function f d to the objective variable P m to be optimized.
  • the explanatory variable is represented by a nonlinear function f d
  • the objective variable is discretized to give candidate points, whereby the nonlinear expression related to the optimization objective function can be transformed into a linear form related to the discrete variable Z d regardless of f d .
  • the optimization target variable is set in advance (for example, given by a human) to a linear regression equation that is expressed as linear regression but is nonlinearly transformed, so that the optimization process can be performed at high speed. It becomes possible to do.
  • a method of optimizing the prices of a plurality of products so as to maximize the total sales amount is exemplified.
  • the optimization unit 37 may optimize the prices of a plurality of products so as to maximize the profit.
  • the objective function generation unit 39 may generate an objective function exemplified below, for example. Note that c is a term that does not depend on Z.
  • the learning device 20 learns the sales amount by a regression formula that prescribes a nonlinear transformation of a quadratic function of the objective variable.
  • the regression equation in this case is expressed by, for example, the following equation B1.
  • ⁇ d and ⁇ d are arbitrary basis functions, respectively.
  • X corresponds to the price.
  • This function is an optimization objective function.
  • x is discretized as shown in Expression B2 below.
  • Embodiment 3 a third embodiment of the optimization system according to the present invention will be described.
  • BQP Binary Quadratic Programming Problem
  • equation A can be generated by applying discretization to linear prediction. Therefore, the problem of the second embodiment can be converted to BQP.
  • BQP is a difficult NP problem, and an exact solution cannot be obtained. Therefore, it is generally known that BQP is solved using a framework called integer programming.
  • the method of solving BQP by mixed integer program relaxation has been described.
  • a method for solving the BQP exemplified in the above-described formula A at higher speed will be described. Note that the configuration of the optimization system of this embodiment is the same as the configuration of the optimization system of the second embodiment. However, the method in which the optimization unit 37 performs the optimization process is different from that in the second embodiment.
  • the optimization unit 37 of the present embodiment relaxes the BQP into an easy-to-solve problem called SDP (Semidefinite Programming) and optimizes the BQP based on the SDP solution.
  • SDP Simple-to-solve problem
  • Equation 10 BQP is formulated as shown in Equation 10 below.
  • M and K are natural numbers.
  • Q is a KM ⁇ KM square matrix
  • r is a KM-order vector.
  • Sym n a set of all symmetric matrices of size n is denoted as Sym n .
  • Sym n is written as follows.
  • Equation 11 exemplified below holds for all vectors x. Therefore, Q in the above-described formula 10 can be replaced with the following formula 12. Thus, without loss of generality, Q is assumed to be a symmetric matrix.
  • Sn represents an n-dimensional unit spherical surface as illustrated in the following Expression 15.
  • Equation 14 described above is mitigated by the problem of Equation 16 exemplified below.
  • Equation 16 is a relaxation of Equation 14 described above.
  • the optimization unit 37 converts the problem of Equation 16 described above into an SDP problem.
  • the objective function shown in Expression 16 is converted into Expression 18 shown below.
  • Y is a semi-definite value, and satisfies the following Expression 19.
  • Equation 22 Using the matrix Y, these conditions are expressed as shown in Equation 22 below.
  • the optimization unit 37 can generate the SDP problem represented by the following Expression 23.
  • This problem is equivalent to the problem shown in Equation 16 described above, and is a relaxation of Equation 10 described above. Therefore, the optimum value of Expression 23 is an upper bound of the optimum value of Expression 10 described above.
  • an optimal solution derived by SDP relaxation is defined as tilde Y.
  • FIG. 7 is a flowchart illustrating an operation example in which the optimization unit 37 solves the BQP by SDP relaxation.
  • the operation example (algorithm) illustrated in FIG. 7 performs rounding once.
  • the optimization unit 37 converts the BQP represented by the above-described equation 10 into the problem represented by the equation 23 obtained by SDP relaxation (step S21), and sets the optimum solution as the tilde Y.
  • the optimization unit 37 searches for a value (hereinafter referred to as a tilde k) that satisfies Expression 25 shown below (step S22).
  • the tilde k is an element of ⁇ 1,..., K ⁇ .
  • the optimization unit 37 sets Z Km + tilde k to be 1 (otherwise, 0) (step S23).
  • FIG. 8 is a flowchart showing another example of operation in which the optimization unit 37 solves the BQP by SDP relaxation.
  • the operation example (algorithm) illustrated in FIG. 8 performs rounding repeatedly.
  • the optimization unit 37 partially fixes Z, and constructs the problem shown in Expression 10 described above into the problem shown in Expression 23 (that is, SDP) (Step S32).
  • the optimization unit 37 solves the problem shown in Expression 23 and sets the optimum solution as a tilde Y (step S33).
  • the optimization unit 37 searches for a tilde m and a tilde k that satisfy Expression 26 shown below (step S34).
  • the optimization part 37 fixes Z partially based on the following formula
  • Optimizer 37 updates U as shown below (step S36).
  • the optimization unit 37 obtains the following three by applying the algorithm illustrated in FIG. 7 or FIG. 8 to the problem represented by Equation 10 described above.
  • the first is a solution to the problem shown by the calculated (almost accurate) Equation 10.
  • the second is the optimal value of the problem shown in the calculated (almost accurate) Equation 10.
  • the third is the optimum value of the problem shown in Equation 23. From this, the inequality shown in Equation 28 below is obtained.
  • Approximate rate of calculated solution calculated optimum value of equation 10 / optimum value of equation 10 ⁇ calculated optimum value of equation 10 / optimum value of equation 23 (Equation 29)
  • the quality of the calculated solution can be evaluated by this inequality, and more advanced algorithms such as the branch and bound method can be derived.
  • FIG. 9 is a flowchart showing still another operation example in which the optimization unit 37 solves the BQP by SDP relaxation.
  • T is a parameter defined by the user.
  • the optimization unit 37 converts the BQP represented by the above-described equation 10 into a problem represented by equation 23 obtained by SDP relaxation (step S41), and sets the optimum solution as the tilde Y.
  • the optimization unit 37 searches for a value (tilde k) that satisfies Equation 30 shown below (step S42). Further, the optimization unit 37 initializes the index set C m as shown in Expression 31 below (step S43).
  • the optimization unit 37 repeats the following processing while satisfying Expression 32 shown below (Steps S44 to S45).
  • the optimization unit 37 searches for two values (tilde m and tilde k) that satisfy the following expression 33 (step S44).
  • the tilde m is an element of ⁇ 1,..., M ⁇
  • the tilde k is an element of ⁇ 1,.
  • the optimization unit 37 adds the tilde k to the set C tilde m (step S45). Specifically, it is represented by the following Expression 34.
  • the optimization unit 37 sets D as a set of Z (step S46).
  • Z is shown in the following format.
  • D satisfies Expression 35 shown below.
  • the optimization unit 37 calculates the value of the objective function for all Z (step S47), and rearranges the elements of D by the calculated value (step S48).
  • the algorithm illustrated in FIG. 9 is a combination of SDP mitigation and exhaustive search.
  • the optimization unit 37 performs optimization using the algorithm illustrated in FIG. 9, it is possible to limit the range of the exhaustive search using the SDP solution.
  • the optimization system that optimizes the plan represented by the BQP problem has been described.
  • the optimization unit 37 relaxes the BQP problem into an SDP problem and derives a solution for the SDP problem. Therefore, an optimal solution can be derived at a very high speed as compared with a generally known BQP solution.
  • the operation of the optimization unit 37 has been described by exemplifying the BQP formulated as the above-described Expression 10.
  • BQP can also be formulated as shown in Expression 36 below.
  • A is defined by the equation 13 above.
  • the problem represented by Expression 36 is equivalent to the problem of Expression 37 exemplified below.
  • the following equation 38 shows a solution to the problem shown in equation 37.
  • Equation 38 The problem represented by Equation 38 can be rewritten into a standard format including equations and inequalities as Equation 39 illustrated below.
  • B 4u , B 5u, and B 6u are defined by Expression 40 shown below.
  • B 1i , B 2s and B 3s which are elements of Sym n + 1 are defined by Expression 41 shown below.
  • equation 39 can be rewritten into a standard form represented by an equation like equation 42 shown below.
  • a ′, B ′ 1i , B ′ 2s , B ′ 3s , B ′ 4u , B ′ 5u , and B ′ 6v are defined by the following equation 43.
  • K v is an element of Sym V is given by equation 44 shown below.
  • Equation 36 The dual problem of the problem expressed by Equation 36 described above will be described.
  • Equation 45 The dual problem of the problem expressed by Equation 36 is expressed by the following Equation 45.
  • f j is given by the right side of the constraint of Expression 42 described above.
  • X j is a variable.
  • Equation 46 exemplified below.
  • the optimization unit 37 can use Equation 46 and Equation 47 described above as the initial solution of the problem indicated by Equation 42 described above.
  • the optimization unit 37 relaxes the BQP problem expressed by the following expression 48 into the SDP problem expressed by the following expression 49. That is, the optimization unit 37 relaxes the BQP problem with the 1-of-K constraint (one-hot constraint), the linear equality constraint, and the linear inequality constraint into an SDP problem, as shown in Equation 48. Then, the optimization unit 37 converts the solution derived from the problem represented by Expression 49 into the solution of the problem represented by Expression 48, thereby deriving the optimal solution of the problem represented by Expression 48.
  • Equation 48 S represents the number of 1-of-K constraints (one-hot constraints), U represents the number of linear equality constraints, and V represents the number of linear inequality constraints.
  • a and c represent n-dimensional vectors, respectively, and b and d represent scalar values.
  • the vector c u (c u, 1 , c u, 2,. , C u, n ) T.
  • T indicates transposition.
  • FIG. 10 is a block diagram showing an outline of the optimization system according to the present invention.
  • An optimization system according to the present invention is an optimization system for optimizing a plan represented by a binary quadratic programming problem. The optimization system relaxes a binary quadratic programming problem into a semi-definite programming problem, and the semi-definite planning.
  • An optimization unit 88 (for example, the optimization unit 37) for deriving a solution of the problem is provided.
  • the optimization unit 88 derives an optimal solution by converting the solution of the derived semi-definite programming problem into a solution of the binary quadratic programming problem. At that time, the optimization unit 88 expands the binary variable to a variable on the multidimensional unit sphere, and relaxes the semi-definite programming problem.
  • the optimization unit 88 expresses the binary quadratic programming problem with the 1-of-K constraint, the linear equality constraint, and the linear inequality constraint expressed by the above equation 48 by the above equation 49.
  • the optimal solution of the binary quadratic programming problem may be derived by relaxing the semi-definite problem and converting the solution of the semidefinite problem into the solution of the binary quadratic programming problem.
  • the present invention realizes the processing of solving a mathematical programming problem and the processing of generating a prediction model by the ability of a processor (computer) that processes a large amount of data at high speed in a short time. Therefore, the present invention is not limited to simple mathematical processing, but uses a computer in order to obtain a prediction result and an optimization result from a large amount of data at high speed by applying a mathematical programming problem.
  • FIG. 11 is a schematic block diagram showing a configuration of a computer according to at least one embodiment.
  • the computer 1000 includes a CPU 1001, a main storage device 1002, an auxiliary storage device 1003, and an interface 1004.
  • the learning device 20 and the optimization device 30 described above are each mounted on the computer 1000.
  • the computer 1000 on which the learning device 20 is installed and the computer 1000 on which the optimization device 30 is installed may be different.
  • the operation of each processing unit described above is stored in the auxiliary storage device 1003 in the form of a program (an information processing program or an optimization program).
  • the CPU 1001 reads out the program from the auxiliary storage device 1003, expands it in the main storage device 1002, and executes the above processing according to the program.
  • each of the learning device 20 and the optimization device 30 described above may be realized by an electric circuit configuration (circuitry).
  • the electric circuit configuration (circuitry) is a term that conceptually includes a single device (single device), a plurality of devices (multiple devices), a chipset (chipset), or a cloud (cloud).
  • the auxiliary storage device 1003 is an example of a tangible medium that is not temporary.
  • Other examples of the non-temporary tangible medium include a magnetic disk, a magneto-optical disk, a CD-ROM, a DVD-ROM, and a semiconductor memory connected via the interface 1004.
  • this program is distributed to the computer 1000 via a communication line, the computer 1000 that has received the distribution may develop the program in the main storage device 1002 and execute the above processing.
  • the program may be for realizing a part of the functions described above. Further, the program may be a so-called difference file (difference program) that realizes the above-described function in combination with another program already stored in the auxiliary storage device 1003.
  • difference file difference program

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Strategic Management (AREA)
  • Human Resources & Organizations (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Economics (AREA)
  • Mathematical Physics (AREA)
  • Development Economics (AREA)
  • Software Systems (AREA)
  • Game Theory and Decision Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

二値二次計画問題で表される計画を最適化する最適化システムは、最適化部88を備え、最適化部88は、二値二次計画問題を半正定計画問題に緩和して、その半正定計画問題の解を導出する。

Description

最適化システム、最適化方法および最適化プログラム
 本発明は、数理最適化を行う最適化システム、最適化方法および最適化プログラムに関する。
 近年、過去の実績データに基づいて予測モデルを生成する方法が各種提案されている。例えば、特許文献1には、混合型データを自動で分離し分析する学習方法について記載されている。
 また、定量的な問題について最適化(以下、数理最適化)を行う方法として、数理計画法(numerical optimization)が知られている。数理計画法には、例えば、線形計画法、二次計画法、半正定計画法などの連続変数に関する方法や、混合整数計画法のような離散変数に関する方法がある。特許文献2には、収集されたデータに数理計画法を適用することによって、最適充電スケジュールを決定する方法が記載されている。
米国特許第8909582号明細書 特開2012-213316号公報
 数理最適化を行う場合、通常、数理計画法へ入力されるデータが観測されることを前提としている。例えば、工業製品の生産ラインを最適化する場合、各ラインである製品を作るために必要な材料の量、コスト、製造時間などのデータが入力される。
 一方、データが観測されない場合には、人手でデータを準備する必要があり、大規模な最適化や高頻度な最適化が難しい。例えば小売店舗において、商品の将来の需要予測線が得られれば、需要に基づいて発注と在庫を最適化することは可能である。しかし、人手で需要予測線を引く事ができる商品数には限りがあり、また数時間に1回の発注作業のたびに手作業による需要予測を繰り返すことは現実的ではない。
 また例えば、将来のある期間の売上が最大となるように、その期間の各商品価格を最適化するためには、大量の商品の価格と需要の間の複雑な相関関係を把握する必要があり、人手でこれを行う事は難しい。
 以上の知見に基づいて、本発明の発明者は、例えば特許文献2に記載された方法によって過去のデータから観測されないデータを予測するモデルを学習し、その予測モデルに基づく将来の予測結果に基づいて数理計画法の目的関数や制約条件を自動的に生成し最適化を実行する方法等に係る発明をした。この発明により、数理最適化で観測されない大量の入力データが存在する状況や複数の大量のデータ間に複雑な相関関係が存在する場合であっても、適切に最適化を行うことができる。
 一方、このような最適化を行う過程において、上記で述べた機械学習に基づく予測モデルが、非線形な基底関数に基づく場合がある。例えば、上記で述べた価格の予測問題について、機械学習に基づく予測モデルへ入力する特徴量として、価格の二乗や価格の対数変換といった非線形変換を行うとする。この場合、数理最適化の目的関数(将来のある期間の売上)は、価格を複雑に非線形変換した特徴量の関数になるため、一般的な方法を用いて、このような数理最適化を効率的に解くことは難しい。そのため、最適化に用いられる予測モデルが非線形な基底関数に基づく場合であっても、高速かつ高精度に数理最適化の解を求められることができることが好ましい。
 そこで、本発明は、最適化に用いられる予測モデルが非線形な基底関数に基づく場合であっても、高速かつ高精度に数理最適化の解を求めることができる最適化システム、最適化方法および最適化プログラムを提供することを目的とする。
 本発明による最適化システムは、二値二次計画問題で表される計画を最適化する最適化システムであって、二値二次計画問題を半正定計画問題に緩和して、その半正定計画問題の解を導出する最適化部を備えたことを特徴とする。
 本発明による最適化方法は、二値二次計画問題で表される計画を最適化する最適化方法であって、二値二次計画問題を半正定計画問題に緩和して、その半正定計画問題の解を導出することを特徴とする。
 本発明による最適化プログラムは、二値二次計画問題で表される計画を最適化するコンピュータに適用される最適化プログラムであって、コンピュータに、二値二次計画問題を半正定計画問題に緩和して、その半正定計画問題の解を導出する最適化処理を実行させることを特徴とする。
 本発明によれば、上述した技術的手段により、最適化に用いられる予測モデルが非線形な基底関数に基づく場合であっても、高速かつ高精度に数理最適化の解を求めることができるという技術的効果を奏する。
本発明による最適化システムの第1の実施形態の構成例を示すブロック図である。 第1の実施形態の最適化システムの動作例を示すフローチャートである。 第1の実施形態の最適化システムの変形例を示す説明図である。 本発明による最適化システムの第2の実施形態の構成例を示すブロック図である。 候補点の入力を受け付ける画面の例を示す説明図である。 第2の実施形態の最適化システムの動作例を示すフローチャートである。 SDP緩和によりBQPを解く動作例を示すフローチャートである。 SDP緩和によりBQPを解く他の動作例を示すフローチャートである。 SDP緩和によりBQPを解くさらに他の動作例を示すフローチャートである。 本発明による最適化システムの概要を示すブロック図である。 少なくとも1つの実施形態に係るコンピュータの構成を示す概略ブロック図である。
 まず、本発明の概要を説明する。本発明では、数理最適化で観測されない大量の入力データが存在する状況や複数の大量のデータ間に複雑な相関関係が存在する状況において、機械学習技術によって観測されない大量のデータや複雑なデータの相関関係を学習し、それによって適切に最適化を行う。具体的には、本発明では、例えば特許文献1に記載された方法によって過去のデータから観測されないデータを予測するモデルを学習し、その予測モデルに基づく将来の予測結果に基づいて数理計画法の目的関数や制約条件を自動的に生成し最適化を実行する。
 以下、本発明の実施形態を図面を参照して説明する。なお、以下の説明では、必要に応じて、複数の商品の売上の予測に基づいて複数の商品の売上高の総和を最大にするように複数の商品の価格を最適化する場合について例示する。ただし、最適化の対象は上記の例に限定されない。また、以下の説明では、機械学習による予測対象となる変数を「被説明変数」、予測に用いられる変数を「説明変数」、最適化の出力となる変数を「目的変数」と記す。なお、これらの変数は排他的な関係ではなく、例えば説明変数の一部が目的変数となることがある。
実施形態1.
 まず初めに、予測モデルに基づく将来の予測結果に基づいて数理計画法の目的関数や制約条件を自動的に生成し最適化を実行する方法を説明する。図1は、本発明による最適化システムの第1の実施形態の構成例を示すブロック図である。本実施形態の最適化システムは、訓練データ記憶部10と、学習器20と、最適化装置30とを備えている。図1に例示する最適化システムは、本発明における情報処理システムに対応する。
 訓練データ記憶部10は、学習器20が予測モデルの学習に用いる各種訓練データを記憶する。本実施形態では、訓練データ記憶部10は、後述する最適化装置30が最適化結果として出力する変数(目的変数)について、過去に取得された実績データを記憶する。例えば、最適化装置30が複数の商品の価格を最適化しようとする場合、訓練データ記憶部10は、過去に取得された実績データとして、説明変数に対応する各商品の価格や、被説明変数に対応する商品の売上数量を記憶する。
 また、訓練データ記憶部10は、過去に取得された被説明変数の実績データおよび説明変数の実績データ以外にも、天気や暦情報などの外的情報を記憶していてもよい。
 学習器20は、訓練データ記憶部10に記憶された各種訓練データに基づいて、機械学習により、設定された被説明変数ごとに予測モデルを学習する。本実施形態で学習される予測モデルは、後述する最適化装置30が最適化結果として出力する変数(目的変数)の関数で表される。すなわち、目的変数(または、その関数)が、予測モデルの説明変数になっている。
 例えば、売上高の総和を最大にするように価格の最適化を行う場合、学習器20は、過去の売上情報(価格、売上量など)や外部情報(天候や気温など)に基づいて、各商品の価格を説明変数とする売上数量の予測モデルを、対象とする商品ごとに生成する。このような予測モデルを複数の商品の売上数量を被説明変数として生成することにより、天候などの複雑な外部関係を考慮したうえで価格と需要との関係、および、競合する商品により発生する市場の共食い現象(いわゆる、カニバリゼーション)をモデル化できる。
 予測モデルの生成方法は任意であり、例えば、単純な回帰手法が用いられてもよく、特許文献1に記載されたような学習方法が用いられてもよい。
 ここで、最適化対象のインデックスの集合を{m|m=1,…,M}と記す。上述する例では、最適化対象は各商品の価格であり、Mは商品数に対応する。また、各最適化対象mについて予測する内容をSと記す。上述する例では、Sは、商品mの売上数量に対応する。また、各最適化対象mについて最適化する内容(すなわち、最適化の目的変数)をPまたはP´と記す。上述する例では、Pは、商品mの価格に対応する。線形回帰を使用してS(例えば、売上数量(需要))とP(例えば、価格)との依存関係をモデル化すると、Sを予測する予測モデルは、例えば、以下に例示する式1で表される。
Figure JPOXMLDOC01-appb-M000001
 式1において、fは特徴生成関数であり、P´に対する変換を表わす。また、Dは特徴生成関数の数を示し、P´に対して行われる変換の数を示す。fの内容は任意であり、例えば、線形変換を行う関数であってもよく、対数や多項式のような非線形変換を行う関数であってもよい。上述するように、Pが商品mの価格であり、Sが商品mの売上数量を示す場合、fは、例えば、価格に関する売上の反応を表わす。売上の反応とは、例えば、ある程度の値下げをすると売上の反応が良くなる、または、反応が悪くなる、値下げに応じて売上数量が二乗になる、などが挙げられる。
 また、式1において、gは、外的特徴(上述する例の場合、天候など)であり、D´は、外的特徴の数である。なお、外的特徴に関しては、事前に変換をしておいてもよい。また、式1におけるα、β、γは、それぞれ学習器20による機械学習の結果得られる回帰式の定数項および係数である。これまでの説明から明らかである通り、予測モデルは、被説明変数(S)および説明変数(Pや、各種外的特徴など)に基づいて学習され、被説明変数と説明変数との間の関係を示し、説明変数の関数で表されるものである。
 なお、時間経過を考慮し、上述する式1を以下に例示する式2に変形することも可能である。
Figure JPOXMLDOC01-appb-M000002
 式2において上付きtは、時間のインデックスを表わす。これは、例えば窓関数によって時間的に訓練データ集合をスライドさせ、時間tとともに予測式を更新している場合に相当する。このように、予測モデルは、過去に取得された最適化の目的変数の実績データに基づいて学習され、その目的変数を説明変数とする関数で表される。このように、学習器20が、過去に取得された実績データを用いるため、人手で訓練データを生成する必要がない。また、機械学習により予測モデルを学習するため、対象とするデータが大量になっても対応可能であり、また、時間と共に変化する売上量のトレンドに対して自動的にモデルを再学習し追従することができる。学習器20は、生成した予測モデルを最適化装置30に入力する。
 最適化装置30は、目的とする内容の最適化を行う。具体的には、最適化装置30は、目的変数等に対して定められた各種制約条件(詳細は後述)を満たしつつ、目的関数の値が最適(最大、最小など)になるように、目的変数の値を最適化する。上述する例では、最適化装置30は、複数の商品の価格を最適化する。
 最適化装置30は、予測モデル入力部31と、外的情報入力部32と、記憶部33と、問題記憶部34と、制約条件入力部35と、最適化部37と、出力部38と、目的関数生成部39とを含む。
 予測モデル入力部31は、予測モデルを入力する装置である。具体的には、予測モデル入力部31は、学習器20が学習した予測モデルを入力する。また、予測モデル入力部31は、予測モデルを入力する際、最適化処理を行うために必要なパラメータも併せて入力する。予測モデル入力部31は、学習器20が学習した予測モデルに対してオペレータが手動で修正した予測モデルを入力してもよい。なお、予測モデル入力部31は、最適化装置30で利用される予測モデルを受け付けていることから、予測モデルを受け付ける予測モデル受付部ということができる。
 外的情報入力部32は、予測モデル以外で、最適化に用いられる外的情報を入力する。例えば、上述する例において来週の価格を最適化しようとする場合、外的情報入力部32は、来週の天気に関する情報を入力してもよい。また、例えば来週の来店人数を予測できるような場合、外的情報入力部32は、来週の来店人数に関する情報を入力してもよい。この例のように、外部情報は、機械学習による予測モデルによって生成されたものでもよい。ここで入力される外的情報は、例えば、予測モデルの説明変数に適用される。
 記憶部33は、予測モデル入力部31が入力した予測モデルを記憶する。また、記憶部33は、外的情報入力部32が入力した外的情報を記憶する。記憶部33は、例えば、磁気ディスク装置により実現される。
 問題記憶部34は、最適化部37による最適化の評価尺度を記憶する。具体的には、問題記憶部34は、最適化により解こうとする数理計画問題を記憶する。数理計画問題は、ユーザ等により予め問題記憶部34に記憶される。問題記憶部34は、例えば、磁気ディスク装置により実現される。
 なお、本実施形態では、数理計画問題の目的関数あるいは制約条件は、予測モデルがパラメータになるように定義される。すなわち、本実施形態の目的関数あるいは制約条件は、予測モデルの汎関数として定義される。例えば、上述する例の場合、問題記憶部34は、売上高の総和を最大化するための数理計画問題を記憶する。この場合、最適化部37は、売上高の総和を最大化するように各商品の価格を最適化する。各商品の売上高は、商品の価格と予測モデルで予測される売上数量の積で定義できるため、問題記憶部34は、例えば、以下に例示する式3で特定される数理計画問題を記憶してもよい。
Figure JPOXMLDOC01-appb-M000003
 式3において、Tteは、最適化すべき期間の時間インデックスである。例えば次の1週間の売上高の総和を最大化する場合で、時間の単位が「日」の場合、Tteは、次の日から1週間の日付の集合である。
 制約条件入力部35は、最適化する際の制約条件を入力する。制約条件の内容は任意であり、例えば、ビジネス上の制約などが制約条件として入力される。例えば、ある商品の売上数量に対してノルマがある場合、“Sm(t)≧ノルマ”という制約条件を課すことが考えられる。他にも、2つの商品の価格P、価格Pの大小を規定した制約条件(例えば、P≧Pなど)が課されてもよい。
 また、制約条件が予測モデルを引数としている場合、制約条件入力部35は、予測モデルの入力を受け付ける予測モデル受付部として動作してもよいし、記憶部33に記憶された予測モデルを読み取ってもよい。そして、制約条件入力部35は、取得した予測モデルを引数とする制約条件を生成してもよい。
 目的関数生成部39は、数理計画問題の目的関数を生成する。具体的には、目的関数生成部39は、予測モデルをパラメータとする数理計画問題の目的関数を生成する。目的関数生成部39は、例えば、問題記憶部34に記憶された数理計画問題に適用する予測モデルを記憶部33から読み取り、目的関数を生成する。
 また、上述する例のように、予測する内容に応じて、機械学習により複数の予測モデルが学習される。この場合、問題記憶部34にも、複数の予測モデルが記憶されることになる。この場合、目的関数生成部39は、問題記憶部34に記憶された数理計画問題に適用する複数の予測モデルを記憶部33から読み取り、目的関数を生成してもよい。
 最適化部37は、入力された各種情報に基づいて、目的とする内容の最適化を行う。具体的には、最適化部37は、目的関数の値が最適になるように、目的変数の値を最適化する。上述するように、目的変数等に対して各種制約条件が定められるため、最適化部37は、制約条件を満たしつつ、目的関数の値が最適(最大、最小など)になるように、目的変数の値を最適化する。
 本実施形態では、最適化部37は、上述するような予測モデルがパラメータになっている目的関数の値を最適化するように数理計画問題を解いていると言うことができる。最適化部37は、例えば、上述する式3で特定される数理計画問題を解くことで、複数の商品の価格を最適化してもよい。また、制約条件が予測モデルを引数としている場合、最適化部37は、この制約条件のもとで、目的関数を最適化する目的変数を算出しているとも言える。
 出力部38は、最適化部37による最適化結果を出力する。
 予測モデル入力部31と、外的情報入力部32と、制約条件入力部35と、最適化部37と、出力部38と、目的関数生成部39とは、プログラム(情報処理用プログラム、または、最適化プログラム)に従って動作するコンピュータのCPUによって実現される。例えば、プログラムは、最適化装置30の記憶部33に記憶され、CPUは、そのプログラムを読み込み、プログラムに従って、予測モデル入力部31、外的情報入力部32、制約条件入力部35、最適化部37、出力部38および目的関数生成部39として動作してもよい。
 また、予測モデル入力部31と、外的情報入力部32と、制約条件入力部35と、最適化部37と、出力部38と、目的関数生成部39とは、それぞれが専用のハードウェアで実現されていてもよい。予測モデル入力部31と、外的情報入力部32と、制約条件入力部35と、最適化部37と、出力部38と、目的関数生成部39とは、それぞれが電気回路構成(circuitry )により実現されていてもよい。ここで、電気回路構成(circuitry )とは、単一のデバイス(single device )、複数のデバイス(multiple devices)、チップセット(chipset )またはクラウド(cloud )を概念的に含む文言である。また、本発明による最適化システムは、2つ以上の物理的に分離した装置が有線または無線で接続されることにより構成されていてもよい。
 次に、本実施形態の最適化システムの動作を説明する。図2は、本実施形態の最適化システムの動作例を示すフローチャートである。まず、学習器20は、訓練データ記憶部10に記憶された各種訓練データに基づいて、設定された被説明変数ごとに予測モデルを学習する(ステップS11)。
 予測モデル入力部31は、学習器20が生成した予測モデルを入力し(ステップS12)、記憶部33に記憶する。また、外的情報入力部32は、外的情報を入力し(ステップS13)、記憶部33に記憶する。
 目的関数生成部39は、予測モデル入力部31に入力された1つ以上の予測モデル、および、問題記憶部34に記憶された数理計画問題を読み込む。そして、目的関数生成部39は、数理計画問題の目的関数を生成する(ステップS14)。一方、制約条件入力部35は、最適化を行う際の制約条件を入力する(ステップS15)。
 最適化部37は、入力された制約条件のもとで、目的関数の値が最適になるように、目的変数の値を最適化する(ステップS16)。
 以上のように、本実施形態では、 予測モデル入力部31が、被説明変数および説明変数に基づいて学習され、被説明変数と説明変数との間の関係を示し、説明変数の関数で表される予測モデルを受け付ける。そして、最適化部37が、受け付けられた予測モデルを引数とする目的関数について、制約条件のもとで、その目的関数を最適化する目的変数を算出する。
 具体的には、目的関数生成部39により、数理計画問題の目的関数が予測モデルを引数として定義され、最適化部37が、その予測モデルを引数とする制約条件のもとで、数理計画問題の目的関数の値が最大化されるように目的変数の値を最適化する。そのような構成により、数理最適化で観測されない入力データが存在する状況であっても、適切に最適化を行うことができる。
 なお、本実施形態では、売上高の総和を最大化するように複数の商品の価格を最適化する方法を例示した。他にも、最適化部37は、利益を最大にするように複数の商品の価格を最適化してもよい。
 以下、第1の実施形態の理解を容易にするため、簡単な具体例を用いて、第1の実施形態の適用例を説明する。まず、第1の適用例として、複数の商品の売上の予測に基づいて、複数の商品の売上高の総和を最大にするように複数の商品の価格を最適化する場合について説明する。
 例えば、ある小売店において、この先一ヶ月のサンドイッチ群の売上高の総和を最大にする場合を考える。サンドイッチ群は、サンドイッチA、B、CおよびDの4種類のサンドイッチを含むとする。この場合、サンドイッチ群の売上高の総和、すなわち、サンドイッチA、B、CおよびDの4つのサンドイッチの売上高の総和が最大化されるように、サンドイッチA,B、CおよびDのそれぞれの販売価格を最適化するという問題を解くことになる。
 訓練データ記憶部10は、過去の各サンドイッチの売上高を示すデータおよび過去の各サンドイッチの販売価格を記憶する。訓練データ記憶部10は、天気や暦情報などの外的情報を記憶していてもよい。
 学習器20は、訓練データ記憶部10に記憶された各種訓練データに基づいて、機械学習により、例えば、各サンドイッチの売上数量を予測するための予測モデルを学習する。
 ここでは、サンドイッチAの売上数量を予測するための予測モデルについて例示する。サンドイッチAの売上数量は、サンドイッチA自体の販売価格の影響を受けると考えられる。また、サンドイッチAの売上数量は、サンドイッチAと共に商品棚に陳列されるサンドイッチ、すなわちサンドイッチB、CおよびDの販売価格の影響も受けると考えられる。その小売店に来店する顧客は、商品棚に同時に陳列されるサンドイッチA、B、CおよびDのうちから、好ましいサンドイッチを選択的に購入すると考えられるからである。
 この状況で、例えば、サンドイッチBが大安売りされている日を想定する。普段はサンドイッチAを好んで購入する顧客であっても、このような日にはサンドイッチAではなくサンドイッチBを選択して購入する可能性がある。顧客(人間)が一度に食することができるサンドイッチの量には限りがあるので、一般的な顧客がサンドイッチAとBの両方を購入しようと考える可能性は低いからである。
 この場合、結果的には、サンドイッチBが安売りされていることにより、サンドイッチAの売上数量が減ることになる。このような関係は、カニバリゼーション(市場の共食い関係)の関係と呼ばれる。
 すなわち、このカニバリゼーションとは、ある商品の価格を下げると、その商品の売上量は上がる一方で、他の競合商品(性質や特徴が互いに類似した複数の商品)の売上量が減少するような関係である。
 したがって、サンドイッチAの売上数量S(被説明変数)を予測する予測モデルは、例えば、サンドイッチAの価格P、サンドイッチBの価格P、サンドイッチCの価格PおよびサンドイッチDの価格Pを説明変数として含む関数として表すことができる。
 学習器20は、訓練データ記憶部10に記憶された各種訓練データに基づいて、サンドイッチAの売上数量Sを予測する予測モデル、サンドイッチBの売上数量Sを予測する予測モデル、サンドイッチCの売上数量Sを予測する予測モデル、サンドイッチDの売上数量Sを予測する予測モデルをそれぞれ生成する。
 なお、サンドイッチの売上が外部情報(天候や気温など)の影響を受けると考えて、これら外部情報をも考慮した予測モデルが生成されてもよい。また、時間経過を考慮した予測モデルが生成されてもよい。これらの予測モデルは、例えば、上述した式1や式2で表現される。
 これまでの説明から明らかである通り、予測モデルは、被説明変数(本実施形態においてはサンドイッチの売上数量)および説明変数(本実施形態においては、そのサンドイッチの販売価格および競合するサンドイッチの販売価格等)に基づいて学習され、被説明変数と説明変数との間の関係を示し、説明変数の関数で表されるものである。
 最適化装置30は、目的とする内容、すなわち、サンドイッチA、B、CおよびDのそれぞれの販売価格(すなわち、P、P、PおよびP)の最適化を行う。具体的には、最適化装置30は、目的変数(すなわち、P、P、PおよびP)等に対して定められた各種制約条件を満たしつつ、目的関数(すなわち、サンドイッチ群の売上高の総和)の値が最大になるように、目的変数(すなわち、P、P、PおよびP)の値を最適化する。目的関数は、例えば、上述した式3で表現される。
 本適用例では、目的関数が予測モデルを引数として定義される例を説明し、最適化装置30が扱う目的関数(すなわちサンドイッチ群の売上高の総和)は上記に例示する式3で表すことができる。
 最適化装置30には、上述する式3で表されるような目的関数の“形”があらかじめ記憶されているとする。最適化装置30は、学習器20が生成した予測モデル(すなわちSを予測する予測モデル、Sを予測する予測モデル、Sを予測する予測モデルおよびSを予測する予測モデル)を上記目的関数の“形”に代入することにより、最適化問題の目的関数を生成する。
 最適化装置30は、予測モデルを引数とする目的関数について、制約条件のもとでその目的関数を最適化する目的変数の値(すなわちP、P、PおよびPの値)を算出する。以上、簡単な具体例を用いて、第1の実施形態の適用例を説明した。なお、上述の説明では、理解を容易にするために、高々4つの商品の売上高の総和が最大になるように、個々の商品の販売価格を最適化したが、最適化の対象は4つに限定されず、2つまたは3つであってもよく、5つ以上であってもよい。また、予測対象も商品に限定されず、例えば、サービスなどであってもよい。
 次に、実際の小売店において、大量の商品の総売上数が最大化されるように個々の商品の販売価格を最適化したい、という問題を扱う場合を考える。このような場合、数理計画問題(最適化問題)の目的関数を人手で定義することは、煩雑に過ぎ、現実的ではない。
 例えば小売店において、商品の将来の需要予測線が得られれば、需要に基づいて発注と在庫を最適化することは可能である。しかし、人手で需要予測線を引く事ができる商品数には限りがあり、また数時間に1回の発注作業のたびに需要予測を繰り返すことは現実的ではない。また例えば、将来のある期間の売上が最大となるように、その期間の各商品価格を最適化するためには、大量の商品の価格と需要の間の複雑な相関関係を把握する必要があり、人手でこれを行う事は難しい。
 上記適用例にて示したとおり、まずは目的関数の“形”を定義しておき、具体的な目的関数は予測モデルを引数として定義されるよう設計することで、数理最適化で観測されない大量の入力データが存在する状況においても、数理計画問題の目的関数を効率良く生成することができる。また、本実施形態では、上記カニバリゼーションのように複数の大量のデータ間に複雑な相関関係が存在する状況においても、適切に最適化を行うことができる。
 また、商品の売上や利益を最大化する商品の価格を決定する以外に、本実施形態の最適化システムを、例えば、商品の棚割りを最適化する事案に適用してもよい。この場合、学習器20が、例えば、商品mの売上数量Sの予測モデルを、以下のように線形回帰モデルで学習する。なお、Pは商品の価格であり、Hは棚の位置であり、θはパラメータである。
 S=linear_regression(P,H,θ)
 このとき、最適化装置30は、PおよびHについて、売上(具体的には、商品mの価格Pと売上数量Sとの積の総和)を最大にするように最適化すればよい。また、この場合も、任意のビジネス制約(例えば、価格の条件など)が設定されてもよい。
 また、上述した棚割り以外にも、小売価格最適化、ホテル部屋価格最適化、航空券価格最適化、駐車場料金最適化、キャンペーン最適化など、商材(サービス、製品いずれも含む)の価格と、商材の需要(複数の商材の価格の関数)との積で表される目的関数の最適化に、本願発明の最適化方法を適用可能である。
 以下、上述する第1の適用例に続き、簡単な具体例を用いて、これらの第1の実施形態への適用例を説明する。ここでは、第2の適用例として、ホテル価格の最適化を説明する。この適用例の場合、売上高または利益を最大化することが目的であるため、目的関数は、売上高または利益を算出する関数で表わされる。目的変数として、例えば、ホテルの各部屋を利用するプランの料金設定が挙げられる。上述する小売と比較すると、小売の例で示した「サンドイッチ」が、本適用例では、例えば、「シングルルームの朝食付きプラン」に対応する。また、外部情報として、例えば、天候や季節、ホテルの周辺で行われるイベントなどが挙げられる。
 次に、第3の適用例として、ホテル価格と在庫の最適化を説明する。この適用例の場合も、売上高または利益を最大化することが目的であるため、目的関数は、売上高または利益を算出する関数で表わされる。目的変数には、価格および在庫を考慮した内容が選択される。例えば、第1の目的変数として、各プランで利用される部屋をどの時期にどのくらいの料金で販売するかを表わす変数、第2の目的変数として、各プランで利用される部屋をどの時期に何部屋販売するかを表わす変数、などが挙げられる。また、第2の適用例と同様、外部情報として、例えば、天候や季節、ホテルの周辺で行われるイベントなどが挙げられる。
 次に、第4の適用例として、航空券の価格と在庫の最適化を説明する。この適用例の場合も、売上高または利益を最大化することが目的であるため、目的関数は、売上高または利益を算出する関数で表わされる。目的変数も、第3の適用例と同様、価格および在庫を考慮した内容が選択される。各航空券が、目的地までのルートや座席の種類(クラス)表すとすると、例えば、第1の目的変数として、各航空券をどの時期にどのくらいの料金で販売するかを表わす変数、第2の目的変数として、各航空券をどの時期に何枚販売するかを表わす変数、などが挙げられる。また、外部情報として、例えば、季節や開催されるイベントなどが挙げられる。
 次に、第5の適用例として、各駐車場の駐車料金の最適化を説明する。この適用例の場合も、売上高または利益を最大化することが目的であるため、目的関数は、売上高または利益を算出する関数で表わされる。目的変数は、例えば、時間帯および場所別の駐車料金が挙げられる。また、外部情報として、例えば、周囲の駐車場の駐車料金、ロケーション情報(住宅地、オフィス街、駅からの距離など)が挙げられる。
 次に、予測モデルおよび予測に必要なデータ(予測用データ)の流れを中心に、図1に例示する構成と比較しながら、第1の実施形態の最適化システムの変形例を説明する。図3は、本変形例による最適化システムの構成例を示す説明図である。
 図3に例示する最適化システムは、データ前処理部150と、データ前処理部160と、学習エンジン170と、最適化装置180とを備えている。データ前処理部150と、データ前処理部160とは、各データに対して、欠損値を埋めるなど、一般的な処理を行う機能を有する。また、学習エンジン170は、第1の実施形態の学習器20に対応し、最適化装置180は、第1の実施形態の最適化装置30に対応する。
 まず、分析・予測対象データ100dから、分析用データ110dおよび予測用データ120dが生成される。分析・予測対象データ100dは、例えば、気象やカレンダデータなどの外部情報101d、売上・価格情報102d、商品情報103dなどを含む。
 分析用データ110dは、学習エンジン170が学習に用いるデータであり、第1の実施形態の訓練データ記憶部10が記憶するデータに対応する。また、予測用データ120dは、外部データおよびその他予測に必要なデータであり、具体的には、予測モデルにおける説明変数の値である。予測用データ120dは、第1の実施形態の記憶部33が記憶するデータの一部または全部に対応する。
 図3に示す例では、データ前処理部150が分析・予測対象データ100dから分析用データ110dを生成し、データ前処理部160が分析・予測対象データ100dから予測用データ120dを生成する。
 学習エンジン170は、分析用データ110dを用いて学習し、予測モデル130dを出力する。最適化装置180は、予測モデル130dと、予測用データ120dを入力として最適化処理を行う。
 なお、図3において例示する各データ(分析・予測対象データ110d(具体的には、外部情報101d、売上・価格情報102d、および、商品情報103d)、分析用データ110d、および、予測用データ120d)は、例えば、最適化システムにおける記憶部(図示せず)のデータベースに保持される。
 第1の実施形態で説明するように、最適化する目的関数が予測モデルを引数として定義される。また、図3に示すように、予測用データが最適化の入力にもなっている。すなわち、本発明では、図3に例示するように、予測モデルと予測用データとが最適化の入力になっていることも特徴である。
実施形態2.
 次に、本発明による最適化システムの第2の実施形態を説明する。第1の実施形態では、過去のデータから観測されないデータを予測するモデルを機械学習し、その予測モデルに基づく将来の予測結果に基づいて数理計画法の目的関数や制約条件を自動的に生成し最適化を実行する方法について説明した。
 一方、前述するように、このような最適化を行う過程において、上記で述べた機械学習に基づく予測モデルが、非線形な基底関数に基づく場合がある。例えば、上記で述べた価格の予測問題について、機械学習に基づく予測モデルへ入力する特徴量として、価格の二乗や価格の対数変換といった非線形変換を行うとする。この場合、数理最適化の目的関数(将来のある期間の売上)は、価格を複雑に非線形変換した特徴量の関数になるため、一般的な方法を用いて、このような数理最適化を効率的に解くことは難しい。
 そこで、第2の実施形態では、最適化に用いられる予測モデルが非線形な基底関数に基づく場合であっても、高速かつ高精度に数理最適化の解を求めることができる方法を説明する。
 図4は、本発明による最適化システムの第2の実施形態の構成例を示すブロック図である。本実施形態の最適化システムは、訓練データ記憶部10と、学習器20と、最適化装置40とを備えている。図4に例示する最適化システムは、本発明における情報処理システムに対応する。また、訓練データ記憶部10および学習器20の内容は、第1の実施形態と同様である。
 最適化装置40は、予測モデル入力部31と、外的情報入力部32と、記憶部33と、問題記憶部34と、制約条件入力部35と、候補点入力部36と、最適化部37と、出力部38と、目的関数生成部39とを含む。
 最適化装置40は、第1の実施形態と同様、目的とする内容の最適化を行う装置である。ただし、最適化装置40は、候補点入力部36をさらに備えている点において、第1の実施形態の最適化装置30と異なる。そして、本実施形態の最適化部37は、候補点入力部36の入力も考慮して最適化を行う。それ以外の構成の内容は、第1の実施形態と同様である。
 候補点入力部36は、最適化の候補点を入力する。候補点とは、目的変数の候補となる離散的な値である。例えば、上述する例の場合、候補点として価格の候補(例えば、割引なし、5%割引、7%割引、など)が挙げられる。このような候補点を入力することで、最適化のコストを低減できる。
 図5は、候補点入力部36がユーザから候補点の入力を受け付ける画面の例を示す説明図である。図5に示す例では、候補点入力部36は、線形回帰モデルで使われている商品の価格の一覧を左側に表示し、その各商品の価格に設定する価格候補の一覧を右側に表示していることを示す。すなわち、候補点入力部36は、最適化する目的変数の一覧およびその目的変数が取り得る値の候補を表示し、選択された目的変数の候補を受け付けて入力する。
 図5に示す例では、オペレータがサンドイッチA(200円)の価格の候補として、割引なし、1%割引、2%割引および5%割引という4つの候補を設定したことを示す。なお、図5に示す例では、目的変数の候補として割引を示す情報を表示しているが、候補点入力部36は、具体的な価格の候補値(例えば、190円、200円、210円および220円という候補値)を表示してもよい。
 以下、候補点が入力される場合の数理計画問題について具体例を挙げて説明する。ここで、最適化する内容のインデックスの集合を{k|k=1,…,K}と記す。上述する例では、Kは価格の候補の数に対応する。例えば、商品「サンドイッチA」の価格の候補が、“割引なし、1%割引、2%割引および5%割引”の4つである場合、K=4である。また、商品mの最適化する内容の候補の集合を、以下に示すように、上付きバーを付したPmkと記す。上述する例では、上付きバーを付したPmkは、商品mについての価格の候補を示す。
Figure JPOXMLDOC01-appb-M000004
 また、mのk番目のインジケータをZmkと記す。ここで、Zmkは、以下の条件を満たす。
Figure JPOXMLDOC01-appb-M000005
 このように定義した場合、商品mの価格Pは、以下に例示する式4で定義される。すなわち、この定義により、目的変数である価格Pが離散化されたと言うことができる。
Figure JPOXMLDOC01-appb-M000006
 このとき、上述する式1は、以下のように変形可能である。
Figure JPOXMLDOC01-appb-M000007
 また、上述する式3は、以下に例示する式5のように変形可能である。なお、式5において、Z=(Z11,…,Z1K,…,ZMK)である。
Figure JPOXMLDOC01-appb-M000008
 例えば、候補点が入力されない場合、最適化部37は、上述する式3で特定される数理計画問題を解くことで、複数の商品の価格を最適化してもよい。また、候補点が入力された場合、最適化部37は、上述する式5の数理計画問題を解くことで、複数の商品の価格を最適化してもよい。
 このとき、制約条件入力部35も候補点を考慮した入力を受け付けてもよい。ここで、上述する商品の最適化で設定される制約条件の具体的一例を説明する。一般に、ボールペン1本単体の価格と、同じブランドのボールペン6本セットの価格とを比較した場合、ボールペン6本セットのボールペン1本当たりの価格は、ボールペン1本単体の価格よりも安いことが期待される。この種の制約条件は、以下に例示する式6で定義される。
Figure JPOXMLDOC01-appb-M000009
 式6において、PCは、制約条件が適用されるインデックス対の集合を示し、wm,nは、重みを示す。なお、PCおよびwm,nは、予め与えられる。
 以下、最適化部37が最適化処理を行う具体例を、上述する式5を用いて説明する。上述する式5の場合、目的関数は、以下のように変形可能である。
Figure JPOXMLDOC01-appb-M000010
 ここで、[Q]i,jは行列Qの(i,j)番目の要素であり、[r]はベクトルrのi番目の要素である。したがって、上述するQは、対称行列ではなく、半正定値ではない。この問題は、非凸基数(0-1整数)二次計画問題と呼ばれる、混合整数二次計画問題の一種である。この問題は、混合整数計画問題に変形することで効率的に解くことが可能である。
 ここでは、混合整数計画緩和を用いて、上述する式5で特定される数理計画問題を解く方法を説明する。上付きバーを付した新たな変数Zi,jを用いて、以下の式7で例示する変形処理が行われる。
Figure JPOXMLDOC01-appb-M000011
 ここで、最適解において、上付きバーを付した変数Zi,jがZをとる、以下の式8で示す制約が定義される。
Figure JPOXMLDOC01-appb-M000012
 上述する式8に示す等式を追加することにより、上述する式7を以下に例示する式9のように新たに定式化できる。
Figure JPOXMLDOC01-appb-M000013
 なお、制約条件数を減らして計算を効率化するために、上述する式9の条件から以下の不等式が削除されてもよい。
Figure JPOXMLDOC01-appb-M000014
 最適化部37は、このようにして変形された定式を最大化するように、複数の商品の価格を最適化すればよい。なお、候補点入力部36に候補点が入力されない場合、最適化部37は、上述する式3の数理計画問題を解いてもよい。また、なお、MILP(mixed integer linear programming)緩和において、上述する式6の制約条件を適用することも可能である。
 予測モデル入力部31と、外的情報入力部32と、制約条件入力部35と、候補点入力部36と、最適化部37と、出力部38と、目的関数生成部39とは、プログラム(情報処理用プログラム、または、最適化プログラム)に従って動作するコンピュータのCPUによって実現される。
 また、予測モデル入力部31と、外的情報入力部32と、制約条件入力部35と、候補点入力部36と、最適化部37と、出力部38と、目的関数生成部39とは、それぞれが専用のハードウェアで実現されていてもよい。また、予測モデル入力部31と、外的情報入力部32と、制約条件入力部35と、候補点入力部36と、最適化部37と、出力部38と、目的関数生成部39とは、それぞれが電気回路構成(circuitry )により実現されていてもよい。
 次に、本実施形態の最適化システムの動作を説明する。図6は、本実施形態の最適化システムの動作例を示すフローチャートである。なお、学習されたモデル及び外的情報を入力して目的変数を生成し、制約条件を入力するまでのステップS11からステップS15までの処理は、図2に示す内容と同様である。
 候補点入力部36は、目的変数の取り得る値の候補である候補点を入力する(ステップS18)。ここで入力される候補点の数は、1つであってもよく、複数であってもよい。そして、最適化部37は、入力された候補点および入力された制約条件のもとで、目的関数の値が最適になるように、目的変数の値を最適化する(ステップS19)。
 以上のように、本実施形態では、数理計画問題の目的関数の値が最適になるように目的変数の値を最適化する最適化システムについて説明した。具体的には、予測モデル入力部31が、数理計画問題の目的変数を説明変数とする関数で表される線形回帰モデルを入力する。また、候補点入力部36が、線形回帰モデルに含まれる目的変数について、その目的変数が取り得る値の離散的な候補(候補点)を入力する。そして、最適化部37が、線形回帰モデルを引数とする数理計画問題の目的関数を最適化する目的変数を算出する。その際、最適化部37は、目的変数を最適化する候補点を選択して目的変数を算出する。
 そのような構成により、最適化に用いられる予測モデルが非線形な基底関数に基づく場合であっても、高速かつ高精度に数理最適化の解を求めることができる。
 具体的には、最適化部37は、上述する式1に例示する線形回帰式で表される予測モデルをパラメータとする目的関数を最適化する。ここで、式1の線形回帰式は、説明変数の少なくとも一部が非線形関数fで表されるとする。
 例えば、価格のようにあらゆる候補を想定可能な目的変数であっても、現実的には、一定の価格候補を予め定めて最適化を実施することが多い。上述する式1の形式で表される予測モデルSは、最適化の対象である目的変数Pにfという関数を適用したものである。説明変数が非線形関数fで表される場合、線形回帰式の形式で表されている関数であっても、価格に関して言えば非線形関数であるため、最適化をするのは難しい。
 しかし、本実施形態では、目的変数を離散化して候補点を与えることにより、最適化の目的関数に関する非線形な式を、fに関わらず、Zという離散変数に関する線形式に変形できる。すなわち、線形回帰として表現されてはいるが、非線形変換をしているような線形回帰式に対し、最適化の目的変数を予め設定する(例えば、人間が与える)ことによって、最適化処理を高速に行うことが可能になる。
 また、本実施形態による方法を用いることで、後述する第3の実施形態に示す方法を適用することが可能になり、最適化処理を高速に行うことが可能になる。
 なお、本実施形態では、売上高の総和を最大化するように複数の商品の価格を最適化する方法を例示した。他にも、最適化部37は、利益を最大にするように複数の商品の価格を最適化してもよい。この場合、目的関数生成部39は、例えば、以下に例示する目的関数を生成してもよい。なお、cは、Zに依存しない項である。
Figure JPOXMLDOC01-appb-M000015
 上述する目的関数も、非凸基数(0-1整数)二次計画問題であり、cがZに依存しないため、上述する式Aと数理的に等価な問題として、上述した解法を適用可能である。
 また、本実施形態では、第1の実施形態と同様、売上数量を回帰することで売上高(価格×売上数量)を最適化する場合について説明した。一方、回帰する対象を売上数量でなく、売上高としてもよい。売上高を直接回帰する場合、学習器20が、目的変数の二次関数の非線形変換を規定とする回帰式で売上高を学習する。この場合の回帰式は、例えば、以下に示す式B1で表わされる。
Figure JPOXMLDOC01-appb-M000016
 式B1において、φ、およびψは、それぞれ任意の基底関数である。また、xが価格に対応する。この関数を最適化の目的関数とする。上述する式4で示す場合と同様、以下の式B2に示すようにxを離散化する。
Figure JPOXMLDOC01-appb-M000017
 このようにxを離散化した後、以下に示す変形を経ることで、以下の式B3に示すようなBQP問題に帰着させることが可能である。したがって、売上高を回帰する場合にも、本実施形態で示した方法を用いて最適化できる。
Figure JPOXMLDOC01-appb-M000018
Figure JPOXMLDOC01-appb-M000019
Figure JPOXMLDOC01-appb-M000020
実施形態3.
 次に、本発明による最適化システムの第3の実施形態を説明する。最適化の手法として、BQP(Binary Quadratic Programming Problem:二値二次計画問題)が知られている。第2の実施形態で示すように、線形予測に離散化を適用することで、上述する式Aを生成できるため、第2の実施形態の問題は、BQPに変換可能である。BQPは、NP困難な問題であり、厳密解が求まらないため、一般に整数計画法という枠組みを用いて解くことが知られている。
 第2の実施形態では、混合整数計画緩和により、BQPを解く方法を説明した。本実施形態では、上述する式Aに例示されるBQPをより高速に解くための方法を説明する。なお、本実施形態の最適化システムの構成は、第2の実施形態の最適化システムの構成と同様である。ただし、最適化部37が最適化処理を行う方法が、第2の実施形態と異なる。
 具体的には、本実施形態の最適化部37は、BQPをSDP(Semidefinite Programming:半正定計画問題)と呼ばれる解きやすい問題に緩和し、SDPの解を基にBQPを最適化する。
 一例として、まずBQPを以下に例示する式10のように定式化する。式10において、MおよびKは自然数である。また、式10において、Qは、KM×KMの正方行列であり、rはKM次ベクトルである。
Figure JPOXMLDOC01-appb-M000021
 ここで、サイズnの全ての対称行列の集合をSymと記す。具体的には、Symは、以下のように記される。
Figure JPOXMLDOC01-appb-M000022
 また、全てが1のベクトルを、太字の1で記すことがある。なお、太字の1=(1,1,…,1)である。また、Sym上の内積が、黒丸記号を用いて、以下のように定義される。
Figure JPOXMLDOC01-appb-M000023
 また、全てのベクトルxについて以下に例示する式11が成り立つ。そのため、上述する式10のQは、以下に例示する式12に置き換えることが可能である。したがって、一般性を失うことなく、Qは対称行列と想定される。
Figure JPOXMLDOC01-appb-M000024
 次に、SDP緩和の方法を説明する。まず、最適化部37は、式10に例示するBQPを{1,-1}値を取る変数に変換する。t=-1+2Zとすると、上述する式10は、以下に例示する式13に変形される。
Figure JPOXMLDOC01-appb-M000025
 したがって、上述する式10は、以下に例示する式14と等価になる。
Figure JPOXMLDOC01-appb-M000026
 次に、最適化部37は、S={1,-1}値を取る各変数tを、SKM値を取る変数xに緩和する。Snは、以下の式15に例示するように、n次元単位球面を表わす。
Figure JPOXMLDOC01-appb-M000027
 この場合、上述する式14は、以下に例示する式16の問題に緩和される。
Figure JPOXMLDOC01-appb-M000028
 ここで、上述する式14の目的関数の“1”も同様に、単位ベクトルxに置き換えられる。上述する式14の許容解tについて、以下に示す式17により、式16の許容解が定義され、目的関数の値は矛盾しない。したがって、上述する式16の問題は、上述する式14を緩和したものになる。
Figure JPOXMLDOC01-appb-M000029
 最適化部37は、上述する式16の問題をSDP問題に変換する。式16に示される目的関数は、以下に示す式18に変換される。
Figure JPOXMLDOC01-appb-M000030
 この定義により、Yは、半正定値であり、以下に示す式19を満たす。
Figure JPOXMLDOC01-appb-M000031
 Yが半正定値であるならば、(KM+1)次元ベクトルx,x,…,xKMは、上述する式18に示す条件および式19を満たす。
 行列Yを用いてyii=1とすることにより、制約条件||x||=1を表現することが可能である。xは、単位ベクトルであるため、以下に示す式20を満たす場合にのみ、式21が成り立つ。
Figure JPOXMLDOC01-appb-M000032
 行列Yを用いると、これらの条件は、以下に示す式22のように表現される。
Figure JPOXMLDOC01-appb-M000033
 以上のことから、最適化部37は、以下の式23で示すSDP問題を生成できる。この問題は、上述する式16に示す問題と等価であり、上述する式10の緩和である。したがって、式23の最適値は、上述する式10の最適値の上界になる。
Figure JPOXMLDOC01-appb-M000034
 次に、式23に示す問題の最適解が与えられたときに、その最適解を式10に示す問題のZに変換する方法を説明する。以下ではこの変換操作を丸めと呼ぶ。ここで、SDP緩和により導出された最適解をチルダYとする。
 上述する式16の導出において、“1”がベクトルxに置き換えられ、t(i=1,…,KM)がベクトルxに置き換えられた。したがって、ZとYとの間には、以下の式24で示す関係が存在する。
Figure JPOXMLDOC01-appb-M000035
 そのため、チルダy0iが他のチルダy0jを超えるようなiについてZを1に固定するのは適当であると言える。以上のことを前提に、最適化部37がSDP緩和により上述する式10で示されるBQPを解く動作を説明する。
 図7は、最適化部37がSDP緩和によりBQPを解く動作例を示すフローチャートである。図7に例示する動作例(アルゴリズム)は、丸めを1度行うものである。
 最適化部37は、上述する式10で示されるBQPをSDP緩和した式23に示す問題に変換し(ステップS21)、最適解をチルダYとする。最適化部37は、以下に示す式25を満たす値(以下、チルダkと記す。)を探索する(ステップS22)。ただし、チルダkは、{1,…,K}の要素である。
Figure JPOXMLDOC01-appb-M000036
 最適化部37は、ZKm+チルダkが1になるように(それ以外は0になるように)設定する(ステップS23)。
 図8は、最適化部37がSDP緩和によりBQPを解く他の動作例を示すフローチャートである。図8に例示する動作例(アルゴリズム)は、丸めを反復して行うものである。
 最適化部37は、まず、インデックスの集合U={1,…,M}を初期化する(ステップS31)。最適化部37は、Uに含まれる各インデックスについて、以下の処理を繰り返す(ステップS32~ステップS36)。
 まず、最適化部37は、Zを部分的に固定して、上述する式10に示す問題を式23に示す問題(すなわち、SDP)に構築する(ステップS32)。最適化部37は、式23に示す問題を解き、最適解をチルダYとする(ステップS33)。最適化部37は、以下に示す式26を満たすチルダmおよびチルダkを探索する(ステップS34)。そして、最適化部37は、以下の式27に基づいてZを部分的に固定する(ステップS35)。
Figure JPOXMLDOC01-appb-M000037
 最適化部37は、以下に示すようにUを更新する(ステップS36)。
Figure JPOXMLDOC01-appb-M000038
 最適化部37は、図7または図8に例示するアルゴリズムを上述する式10で示す問題に適用することで、以下の3つを取得する。1つ目は、計算された(ほぼ正確な)式10で示す問題の解である。2つ目は、計算された(ほぼ正確な)式10で示す問題の最適値である。3つ目は、式23で示す問題の最適値である。このことから、以下の式28に示す不等式が得られる。
 0 < 計算された式10の最適値 ≦ 式10の最適値 ≦ 式23の最適値
                          ・・・(式28)
 したがって、計算された解は、以下の式29を満たすことが保証される。
 計算された解の近似率=計算された式10の最適値/式10の最適値
           ≧計算された式10の最適値/式23の最適値・・・(式29)
 この不等式によって、計算された解の質を評価でき、また、分枝限定法などの、より高度なアルゴリズムを導出できる。
 なお、最適化部37は、ユーザによって定義されたパラメータに基づいて網羅的に解の探索を行ってもよい。図9は、最適化部37がSDP緩和によりBQPを解くさらに他の動作例を示すフローチャートである。
 図9に例示する動作例(アルゴリズム)では、最適解に近い少なくともTの解を列挙する。なお、Tは、ユーザによって定義されるパラメータである。
 最適化部37は、上述する式10で示されるBQPをSDP緩和した式23に示す問題に変換し(ステップS41)、最適解をチルダYとする。最適化部37は、以下に示す式30を満たす値(チルダk)を探索する(ステップS42)。また、最適化部37は、インデックスの集合Cを以下に示す式31のように初期化する(ステップS43)。
Figure JPOXMLDOC01-appb-M000039
 最適化部37は、以下に示す式32を満たす間、以下の処理を繰り返す(ステップS44~ステップS45)。
Figure JPOXMLDOC01-appb-M000040
 最適化部37は、以下に示す式33を満たす2つの値(チルダm、チルダk)を探索する(ステップS44)。ただし、チルダmは、{1,…,M}の要素であり、チルダkは、{1,…,K}の要素である。
Figure JPOXMLDOC01-appb-M000041
 さらに、最適化部37は、チルダkを集合Cチルダmに追加する(ステップS45)。具体的には、以下の式34で表される。
Figure JPOXMLDOC01-appb-M000042
 最適化部37は、DをZの集合とする(ステップS46)。ここで、Zは、以下の形式で示される。この場合、Dは、以下に示す式35を満たす。
Figure JPOXMLDOC01-appb-M000043
 最適化部37は、全てのZについて目的関数の値を算出し(ステップS47)、算出した値でDの要素を並べ替える(ステップS48)。
 図9に例示するアルゴリズムは、SDP緩和と網羅的探索とを組み合わせたものである。最適化部37が図9に例示するアルゴリズムを用いて最適化を行うことにより、SDPの解を使って網羅的探索の範囲を制限することが可能になる。
 以上のように、本実施形態では、BQP問題で表される計画を最適化する最適化システムについて説明した。具体的には、最適化部37が、BQP問題をSDP問題に緩和して、そのSDP問題の解を導出する。したがって、一般に知られたBQPの解法と比較して、非常に高速に最適解を導出することができる。
 具体的には、コンピュータを使用して本実施形態の方法を用いた実験の結果、一般的な方法ではBPQの最適解を求めるのに数時間要していた処理が、1秒程度にまで速度を上げることができた。
 また、本実施形態では、上述する式10にように定式化されたBQPを例示して最適化部37の動作を説明した。ただし、BQPは、以下に例示する式36のようにも定式化できる。
Figure JPOXMLDOC01-appb-M000044
 上述する式13の式によりAを定義する。この場合、式36で示す問題は、以下に例示する式37の問題と等価になる。また、式37に示す問題を緩和したものを以下の式38に示す。
Figure JPOXMLDOC01-appb-M000045
 式38で示す問題は、以下に例示する式39のように等式および不等式を含む標準的な形式に書き換えることが可能である。なお、B4u、B5uおよびB6uは、以下に示す式40で定義される。また、Symn+1の要素であるB1i、B2sおよびB3sは、以下に示す式41で定義される。
Figure JPOXMLDOC01-appb-M000046
 一方、上述する式39で示す問題は、以下に例示する式42のように等式で表される標準的な形式に書き換えることが可能である。なお、A´、B´1i、B´2s、B´3s、B´4u、B´5u、B´6vは、以下に示す式43で定義される。また、Symの要素であるKは、以下に示す式44で与えられる。
Figure JPOXMLDOC01-appb-M000047
 次に、上述する式36で示す問題の双対問題を説明する。式36で示す問題の双対問題は、以下の式45で示される。
Figure JPOXMLDOC01-appb-M000048
 式45において、fは、上述する式42の制約の右辺で与えられる。また、xは変数である。
 一方、式36において許容解Zが与えられると、式42における許容解を、以下に例示する式46で表すことができる。
Figure JPOXMLDOC01-appb-M000049
 また、式45で示す双対問題の許容解は、以下に例示する式47で与えられる。
Figure JPOXMLDOC01-appb-M000050
 したがって、最適化部37は、上述する式46および式47を、上述する式42で示す問題の初期解として利用することが可能になる。
 以上に示す内容を纏めると、最適化部37は、以下の式48に示すBQP問題を以下の式49に示すSDP問題に緩和する。すなわち、最適化部37は、式48に示すように、1-of-K制約(one-hot制約)、線形等式制約、および、線形不等式制約つきのBQP問題をSDP問題に緩和する。そして、最適化部37は、式49に示す問題から導出される解を、式48に示す問題の解に変換することで、式48に示す問題の最適解を導出する。
Figure JPOXMLDOC01-appb-M000051
 式48において、Sは、1-of-K制約(one-hot制約)の個数、Uは、線形等式制約の個数、Vは、線形不等式制約の個数を表わす。また、式48における入力のうち、aおよびcがそれぞれn次元ベクトルを表わし、bおよびdがスカラ値を表わす。また、式49において、ベクトルa=(au,1,au,2,...,au,nであり、ベクトルc=(cu,1,cu,2,...,cu,nである。なお、上付きTは転置を示す。
 次に、本発明の概要を説明する。図10は、本発明による最適化システムの概要を示すブロック図である。本発明による最適化システムは、二値二次計画問題で表される計画を最適化する最適化システムであって、二値二次計画問題を半正定計画問題に緩和して、その半正定計画問題の解を導出する最適化部88(例えば、最適化部37)を備えている。
 そのような構成により、最適化に用いられる予測モデルが非線形な基底関数に基づく場合であっても、高速かつ高精度に数理最適化の解を求めることができる。
 具体的には、最適化部88は、導出された半正定計画問題の解を二値二次計画問題の解に変換することで最適解を導出する。その際、最適化部88は、二値変数を多次元単位球面上の変数に拡張して半正定計画問題への緩和を行う。
 その際、最適化部88は、上記の式48で表される1-of-K制約、線形等式制約、および、線形不等式制約つきの二値二次計画問題を、上記の式49で表される半正定値問題に緩和し、前記半正定値問題の解を前記二値二次計画問題の解に変換することで、当該二値二次計画問題の最適解を導出してもよい。
 また、本発明は、数理計画問題を解くという処理と予測モデルを生成するという処理を、大量のデータ高速に短時間で処理するプロセッサ(コンピュータ)の能力により実現している。したがって、本発明は、単純な数学的処理にとどまらず、数理計画問題を応用して、大量のデータから予測結果および最適化結果を高速に得るために、コンピュータを駆使したものである。
 図11は、少なくとも1つの実施形態に係るコンピュータの構成を示す概略ブロック図である。コンピュータ1000は、CPU1001、主記憶装置1002、補助記憶装置1003、インタフェース1004を備える。
 上述の学習器20や最適化装置30は、それぞれコンピュータ1000に実装される。なお、学習器20が実装されたコンピュータ1000と最適化装置30が実装されたコンピュータ1000は異なるものであって良い。そして、上述した各処理部の動作は、プログラム(情報処理用プログラム、または、最適化プログラム)の形式で補助記憶装置1003に記憶されている。CPU1001は、プログラムを補助記憶装置1003から読み出して主記憶装置1002に展開し、当該プログラムに従って上記処理を実行する。また、上述の学習器20や最適化装置30は、それぞれが電気回路構成(circuitry )により実現されていてもよい。ここで、電気回路構成(circuitry )とは、単一のデバイス(single device )、複数のデバイス(multiple devices)、チップセット(chipset )またはクラウド(cloud )を概念的に含む文言である。
 なお、少なくとも1つの実施形態において、補助記憶装置1003は、一時的でない有形の媒体の一例である。一時的でない有形の媒体の他の例としては、インタフェース1004を介して接続される磁気ディスク、光磁気ディスク、CD-ROM、DVD-ROM、半導体メモリ等が挙げられる。また、このプログラムが通信回線によってコンピュータ1000に配信される場合、配信を受けたコンピュータ1000が当該プログラムを主記憶装置1002に展開し、上記処理を実行しても良い。
 また、当該プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、当該プログラムは、前述した機能を補助記憶装置1003に既に記憶されている他のプログラムとの組み合わせで実現するもの、いわゆる差分ファイル(差分プログラム)であっても良い。
 以上、実施形態及び実施例を参照して本願発明を説明したが、本願発明は上記実施形態および実施例に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
 この出願は、2015年9月30日に出願された米国仮出願第62/235,051号を基礎とする優先権を主張し、その開示の全てをここに取り込む。
 10 訓練データ記憶部
 20 学習器
 30 最適化装置
 31 予測モデル入力部
 32 外的情報入力部
 33 記憶部
 34 問題記憶部
 35 制約条件入力部
 36 候補点入力部
 37 最適化部
 38 出力部
 39 目的関数生成部

Claims (8)

  1.  二値二次計画問題で表される計画を最適化する最適化システムであって、
     前記二値二次計画問題を半正定計画問題に緩和して、当該半正定計画問題の解を導出する最適化部を備えた
     ことを特徴とする最適化システム。
  2.  最適化部は、導出された半正定計画問題の解を二値二次計画問題の解に変換することで最適解を導出する
     請求項1記載の最適化システム。
  3.  最適化部は、二値変数を多次元単位球面上の変数に拡張して半正定計画問題への緩和を行う
     請求項1または請求項2記載の最適化システム。
  4.  最適化部は、以下の問題1で表される1-of-K制約、線形等式制約、および、線形不等式制約つきの二値二次計画問題
    Figure JPOXMLDOC01-appb-M000052
    を、以下の問題2で表される半正定値問題
    Figure JPOXMLDOC01-appb-M000053
    に緩和し、前記半正定値問題の解を前記二値二次計画問題の解に変換することで、当該二値二次計画問題の最適解を導出する
     請求項1から請求項3のうちのいずれか1項に記載の最適化システム。
  5.  二値二次計画問題で表される計画を最適化する最適化方法であって、
     前記二値二次計画問題を半正定計画問題に緩和して、当該半正定計画問題の解を導出する
     ことを特徴とする最適化方法。
  6.  導出された半正定計画問題の解を変換して二値二次計画問題の解を最適解として導出する
     請求項5記載の最適化方法。
  7.  二値二次計画問題で表される計画を最適化するコンピュータに適用される最適化プログラムであって、
     前記コンピュータに、
     前記二値二次計画問題を半正定計画問題に緩和して、当該半正定計画問題の解を導出する最適化処理
     を実行させるための最適化プログラム。
  8.  最適化処理で、導出された半正定計画問題の解を変換して二値二次計画問題の解を最適解として導出させる
     請求項7記載の最適化プログラム。
PCT/JP2016/003685 2015-09-30 2016-08-09 最適化システム、最適化方法および最適化プログラム WO2017056366A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017542682A JP6791151B2 (ja) 2015-09-30 2016-08-09 最適化システム、最適化方法および最適化プログラム

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201562235051P 2015-09-30 2015-09-30
US62/235,051 2015-09-30

Publications (1)

Publication Number Publication Date
WO2017056366A1 true WO2017056366A1 (ja) 2017-04-06

Family

ID=58423212

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2016/003685 WO2017056366A1 (ja) 2015-09-30 2016-08-09 最適化システム、最適化方法および最適化プログラム

Country Status (2)

Country Link
JP (1) JP6791151B2 (ja)
WO (1) WO2017056366A1 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020009434A (ja) * 2018-06-28 2020-01-16 株式会社ビジネスインテリジェンス 計画作成プログラム、計画作成装置、及び計画作成方法
EP3640860A1 (en) 2018-10-19 2020-04-22 Fujitsu Limited Optimization device and control method of optimization device
JP2020144529A (ja) * 2019-03-05 2020-09-10 日本電信電話株式会社 問題求解装置、方法、及びプログラム
EP3722941A1 (en) 2019-04-11 2020-10-14 Fujitsu Limited Optimization device and method for controlling optimization device
EP3757908A1 (en) 2019-06-18 2020-12-30 Fujitsu Limited Optimization device and optimization method

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10187660A (ja) * 1996-12-20 1998-07-21 Nec Corp コンピュータ演算方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10187660A (ja) * 1996-12-20 1998-07-21 Nec Corp コンピュータ演算方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
YOSUKE IMANISHI ET AL.: "MIMO Tsushinro ni Tekishita Hanseiteichi Keikaku Kanwa Fugo", PROCEEDINGS OF THE 33RD SYMPOSIUM ON INFORMATION THEORY AND ITS APPLICATIONS, 23 November 2010 (2010-11-23), pages 629 - 634 *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020009434A (ja) * 2018-06-28 2020-01-16 株式会社ビジネスインテリジェンス 計画作成プログラム、計画作成装置、及び計画作成方法
EP3640860A1 (en) 2018-10-19 2020-04-22 Fujitsu Limited Optimization device and control method of optimization device
US11188044B2 (en) 2018-10-19 2021-11-30 Fujitsu Limited Optimization device and control method of optimization device
JP2020144529A (ja) * 2019-03-05 2020-09-10 日本電信電話株式会社 問題求解装置、方法、及びプログラム
JP7124767B2 (ja) 2019-03-05 2022-08-24 日本電信電話株式会社 問題求解装置、方法、及びプログラム
EP3722941A1 (en) 2019-04-11 2020-10-14 Fujitsu Limited Optimization device and method for controlling optimization device
US11422515B2 (en) 2019-04-11 2022-08-23 Fujitsu Limited Optimization device and method for controlling optimization device
EP3757908A1 (en) 2019-06-18 2020-12-30 Fujitsu Limited Optimization device and optimization method
US11461432B2 (en) 2019-06-18 2022-10-04 Fujitsu Limited Semiconductor integrated circuit

Also Published As

Publication number Publication date
JP6791151B2 (ja) 2020-11-25
JPWO2017056366A1 (ja) 2018-07-19

Similar Documents

Publication Publication Date Title
JP6856023B2 (ja) 最適化システム、最適化方法および最適化プログラム
WO2017056367A1 (ja) 情報処理システム、情報処理方法および情報処理用プログラム
US11281969B1 (en) Artificial intelligence system combining state space models and neural networks for time series forecasting
Lazzeri Machine learning for time series forecasting with Python
JP6819607B2 (ja) 情報処理システム、情報処理方法および情報処理用プログラム
JP6791151B2 (ja) 最適化システム、最適化方法および最適化プログラム
Berry et al. Probabilistic forecasting of heterogeneous consumer transaction–sales time series
Acosta et al. University spillovers and new business location in high-technology sectors: Spanish evidence
JP7114900B2 (ja) 情報処理装置、情報処理方法、及び、プログラム
CN109840730B (zh) 用于数据预测的方法及装置
Higle et al. Production planning under supply and demand uncertainty: A stochastic programming approach
WO2017135322A1 (ja) 最適化システム、最適化方法、及び、記録媒体
US20160171571A1 (en) Planning device and planning method
Chen et al. An effective matching algorithm with adaptive tie-breaking strategy for online food delivery problem
US20220351051A1 (en) Analysis system, apparatus, control method, and program
Azadeh et al. The impact of customer behavior models on revenue management systems
Karakutuk et al. A goal programming approach to lean production system implementation
Voulgaridou et al. An analytic network process approach for sales forecasting
Makris et al. Customer's behaviour modelling for manufacturing planning
JP7243533B2 (ja) 情報処理方法および情報処理装置
Uskenbayeva et al. Managing Business Process Based on the Tonality of the Output Information
Nguyen et al. Short-term forecasting electricity load by long short-term memory and reinforcement learning for optimization of hyper-parameters
Moula et al. Customer type discovery in hotel revenue management: A data mining approach
Dergacheva Intelligent Scoring of Publication Activities and Personal Share of Co-authorship in the Decision Support System for Rewarding University Employees
Wu et al. A Data-Driven Agent-Based Simulator for Air Ticket Sales

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: 16850549

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2017542682

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 16850549

Country of ref document: EP

Kind code of ref document: A1