CN114580644A - Optimization device and optimization method - Google Patents

Optimization device and optimization method Download PDF

Info

Publication number
CN114580644A
CN114580644A CN202111306343.7A CN202111306343A CN114580644A CN 114580644 A CN114580644 A CN 114580644A CN 202111306343 A CN202111306343 A CN 202111306343A CN 114580644 A CN114580644 A CN 114580644A
Authority
CN
China
Prior art keywords
value
state variable
state
state variables
change
Prior art date
Legal status (The legal status 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 status listed.)
Pending
Application number
CN202111306343.7A
Other languages
Chinese (zh)
Inventor
神田浩一
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of CN114580644A publication Critical patent/CN114580644A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N10/00Quantum computing, i.e. information processing based on quantum-mechanical phenomena
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/047Probabilistic or stochastic networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/11Complex mathematical operations for solving equations, e.g. nonlinear equations, general mathematical optimization problems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • 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"
    • G06Q10/047Optimisation of routes or paths, e.g. travelling salesman problem
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/01Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Business, Economics & Management (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Mathematical Optimization (AREA)
  • Computing Systems (AREA)
  • Human Resources & Organizations (AREA)
  • Computational Mathematics (AREA)
  • Operations Research (AREA)
  • Economics (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Strategic Management (AREA)
  • Health & Medical Sciences (AREA)
  • Probability & Statistics with Applications (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Game Theory and Decision Science (AREA)
  • Databases & Information Systems (AREA)
  • Marketing (AREA)
  • Algebra (AREA)
  • General Business, Economics & Management (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • Development Economics (AREA)
  • Condensed Matter Physics & Semiconductors (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

An optimization apparatus and an optimization method are provided. The optimization device comprises: a search unit that searches for an optimal solution that minimizes energy based on a variation amount of the energy when a value of one of a plurality of state variables included in an evaluation function representing the energy of the Esinon model varies; and a transition allowable range determining unit that determines an upper limit or a lower limit of a second identification number of a second state variable that is allowed to change from a second value in a second state variable group of the plurality of state variable groups based on a first identification number of the first state variable having the first value in the first state variable group of the plurality of state variable groups included in the plurality of state variables, and in each of the plurality of state variable groups, one of the state variables has the first value and the other state variables has the second value.

Description

Optimization device and optimization method
Technical Field
Embodiments discussed herein relate to an optimization apparatus and an optimization method.
Background
As an optimization device for calculating a large-scale combinatorial optimization problem that is not easily handled by a noeman-type computer, there is an isooctane device (also referred to as a boltzmann machine) using an isooctane-type evaluation function (also referred to as an energy function or the like).
In the calculation by the yixin device, the problem of the calculation target is replaced with an yixin model, which is a model representing the spin behavior of the magnet. The state in which the value of the itaxin model type evaluation function (corresponding to the energy of the itaxin model) is minimized is searched for by a markov chain monte carlo method such as a simulated annealing method or a replica swapping method (also referred to as a swapped monte carlo method). The state is represented by values of a plurality of state variables included in the evaluation function.
There is a related art optimization apparatus that searches for a state that minimizes energy by performing a markov chain monte carlo method using a digital circuit. The related art optimization device calculates the amount of energy change by changing the value of only a single state variable at a time, and determines whether to allow the change of the state variable according to a value obtained by adding a noise value corresponding to the temperature to the amount of change. The change in the value of the state variable with which the energy increases is also allowed with a predetermined probability, and the probability decreases with decreasing temperature.
There is an optimization problem with a constraint (1 thermal constraint) in which the number of state variables having a value of 1 included in the state variable group in the evaluation function is only one. As a 1-hot constraint, there is a constraint where each state variable appears only once in a set of constraint expressions, and where when N is2The constraint that the sum of the values of the state variables included in a single row and a single column is 1 when the state variables are arranged in a matrix of N rows and N columns. Hereinafter, the former 1 thermal constraint is referred to as a 1-to-1 thermal constraint (1-Way 1-hot constraint), and the latter 1 thermal constraint is referred to as a 2-to-1 thermal constraint (2-Way 1-hot constraint). For example, traffic optimization problems, binning problems, etc. have 1-to-1 thermal constraints. For example, traveler issues, vehicle dispatch planning issues, secondary distribution issues, etc. have 2-to-1 thermal constraints.
In the related art, a technique of calculating a vehicle dispatching plan problem by using a genetic algorithm or quantum computation has been proposed.
Japanese laid-open patent publication nos. 2003-285930 and 2003-114132 are disclosed as related techniques.
Disclosure of Invention
[ problem ] to
Some combinatorial optimization problems include many constraints, and the evaluation function of such a combinatorial optimization problem includes constraint terms corresponding to the respective constraints. Since the evaluation function including many constraint terms has a complicated potential shape including many local maximums and local minimums, there is a problem that convergence to an optimal solution is reduced.
In one aspect, an object of the present disclosure is to provide an optimization apparatus and an optimization method that can improve convergence to an optimal solution.
[ solution of problem ]
According to an aspect of an embodiment, an optimization apparatus includes: a search unit that searches for an optimal solution that minimizes energy based on a variation amount of the energy when a value of one of a plurality of state variables included in an evaluation function representing the energy of the Esinon model varies; and a transition allowable range determining unit that determines an upper limit or a lower limit of a second identification number of a second state variable that is allowed to change from a second value in a second state variable group of the plurality of state variable groups based on a first identification number of the first state variable having the first value in the first state variable group of the plurality of state variable groups included in the plurality of state variables, and in each of the plurality of state variable groups, one of the state variables has the first value and the other state variables has the second value.
[ advantageous effects of the invention ]
In one aspect, the present disclosure may improve convergence to an optimal solution.
Drawings
Fig. 1 shows an example of an optimization device according to a first embodiment;
FIG. 2 shows an example of a conversion result;
FIG. 3 shows an example of a case where a constraint condition is satisfied and a constraint condition is not satisfied;
FIG. 4 illustrates another example of determination of a range of allowable value changes;
fig. 5 shows an example of an optimization device according to a second embodiment;
fig. 6 shows an example of a conversion allowable range determining unit;
FIG. 7 shows an example of the calculation of the boundary values;
fig. 8 shows an example of a conversion enable-disable signal output unit and a storage unit;
FIG. 9 shows an example of a conversion enable-disable bit generation circuit;
fig. 10 shows an example of a Δ E calculation unit;
FIG. 11 shows DtAnd ri,tA storage example of (1);
FIG. 12 shows an example of case 1;
FIG. 13 shows r before and after the state transition of case 1i,tA storage example of (1);
FIG. 14 shows an example of case 2;
fig. 15 shows an example of case 3;
FIG. 16 shows r before and after the state transition of case 3i,tA storage example of (1);
fig. 17 shows another example of the Δ E calculation unit; and
fig. 18 is a flowchart showing an example of the overall operation flow of the optimization apparatus.
Detailed Description
Hereinafter, embodiments of the present disclosure are described with reference to the drawings.
(first embodiment)
Fig. 1 shows an example of an optimization device according to a first embodiment.
The optimization apparatus 10 searches for an optimal solution that minimizes the energy of the Esin model that models the combinatorial optimization problem.
The energy of the izon model is defined by, for example, an evaluation function (e (x)) represented by the following expression (1).
Figure BDA0003340259660000031
The first term on the right is for all combinations of two state variables that can be selected from all state variables included in the evaluation function without omission and duplicationAdding the products of the two state variable values and the weighting factor in the case of a stack, where xiIs the ith state variable, xjIs the jth state variable, and WijIs a weight coefficient that indicates the weight (e.g., the strength of the coupling) between the ith and jth state variables. Wii0. Generally satisfies the relationship Wij=Wji(e.g., the coefficient matrix of weight coefficients is typically a symmetric matrix).
The second term on the right is the sum of the products of the bias coefficients of all state variables and the values of the state variables, where biA bias coefficient representing the i-th state variable, and c is a constant.
For example, "-1" of the spins in the Esinon model corresponds to a value of "0" for the state variable, and "+ 1" of the spins in the Esinon model corresponds to a value of "1" for the state variable. Thus, a state variable may be referred to as a "bit" having a value of 0 or 1.
The combination of the values of the state variables that minimizes the value of expression (1) is a solution (optimal solution) of the problem.
The optimization device 10 includes a search unit 11 and a conversion allowable range determination unit 12.
The search unit 11 performs a determination process of determining whether or not any of the plurality of state variables included in the evaluation function as described above can be changed based on the amount of change in energy when the value is changed. Based on the result of the determination processing, the search unit 11 performs processing (update processing) of changing the value of any of the plurality of state variables. The search unit 11 searches for an optimal solution that minimizes the energy by repeating these processes.
In the following example, the search unit 11 performs the update process while satisfying the 1-hot constraint (1-to-1 hot constraint in the following example). The search unit 11 may perform the update process while satisfying the 2-to-1 thermal constraint.
For example, the search unit 11 determines whether to update the values of any two state variables of the state variable group (hereinafter referred to as group) to satisfy the 1-heat constraint based on the energy variation amount calculated by using the weight coefficient group included in expression (1). In order to satisfy the 1 thermal constraint, in the case where a state variable having a value of 1 among state variables included in a group is updated to 0, only one state variable having a value of 0 is updated to 1.
In the expression (1), when xiBecomes 1-xiWhen xiIs expressed as Δ xi=(1-xi)-xi=1-2xi. Amount of energy change (Δ E) due to change in the valuei) Represented by the following expression (2).
Figure BDA0003340259660000041
In the expression (2), when xiWhen changing from 1 to 0, Δ xiBecomes-1, and when xiWhen changing from 0 to 1, Δ xiBecomes 1. In the expression (2), hiCalled a local field, and hiAccording to Δ xiThe product of the signs of (a) +1 or-1) is Δ Ei
When x isjWhen changing from 0 to 1, hiIs Δ hi (j)=+WijAnd when xjWhen changing from 1 to 0, hiIs Δ hi (j)=-Wij. Similarly, when xiWhen changed, for xjH ofjCan be expressed as Δ hj (i)=ΔxiWij
Therefore, when xiAnd xjAmount of energy change (E) when all changeij) Can be represented by the following expression (3).
Figure BDA0003340259660000051
As described above, in order to transition from a certain state satisfying the 1-hot constraint to another state satisfying the constraint, the values of two state variables are changed. When in xiFrom 1 to 0 and xjThe amount of energy change in the case of changing from 0 to 1 is tabulatedShown as Δ EjDue to Δ xi1 and Δ xj1, thus Δ EjCan be expressed by the following expression (4) according to expression (3).
ΔEj=hi-hj+Wij (4)
Since x is in the expression (1)iOr xjWhen 0, WijxixjThere is no contribution to energy, and therefore it is not necessary to provide W in expression (4)ij
The search unit 11 calculates the energy variation amount as described above for each of the state variables having a value of 0 among the state variables of each group to satisfy the 1 thermal constraint. Based on Delta EjThe search unit 11 determines whether to allow a change of the state variable causing the amount of energy change by using a simulated annealing method, a replica exchange method, or the like. The search unit 11 preferably accepts a change of the state variable that decreases e (x) in expression (1), and randomly allows a change that increases e (x). However, at Δ EjIn the case of a very large positive value, the probability of allowing this change is very small.
When determining a state variable whose value is to be updated from 0 to 1 in a certain group, the search unit 11 updates the value of the state variable from 0 to 1, and updates the value of the state variable whose current value is 1 in the group from 1 to 0.
The search unit 11 includes holding all state variables (x)1To xN) The memory location 11a of the current value of (a).
The search unit 11 is implemented, for example, by an electronic circuit such as an Application Specific Integrated Circuit (ASIC) or a Field Programmable Gate Array (FPGA). The storage unit 11a is, for example, an electronic circuit such as a Static Random Access Memory (SRAM) or a register. The search unit 11 may be implemented by software processing generated by a processor such as a Central Processing Unit (CPU) or a Graphic Processing Unit (GPU) executing a program.
The conversion allowable range determining unit 12 aims at the conversion allowable range included in x1To xNDetermines a range in which the allowable value changes, and in each of the plurality of groups, a single state variable has a first value and the remaining statesThe state variable has a second value. In the following example, the description is given under the following assumption: the conversion allowable range determining unit 12 determines a range in which the allowable value changes for a plurality of groups to satisfy the 1-to-1 thermal constraint as described above. For example, although it is assumed that the first value is 1 and the second value is 0, these are not restrictive, and the first value may be 0 and the second value may be 1.
In the plurality of groups, the conversion allowable range determining unit 12 determines an upper limit or a lower limit of the identification number of the state variable whose value is allowed to change from 0 to 1 in another group, based on the identification number of the state variable having a value of 1 in a certain group.
In this way, a certain constraint condition can be satisfied without adding a constraint term, which will be described later.
The conversion allowable range determination unit 12 is realized by, for example, an electronic circuit such as an ASIC or an FPGA. The conversion allowable range determination unit 12 may be realized by software processing generated by a processor such as a CPU or a GPU executing a program.
Hereinafter, a description is given by using a path problem of a plurality of nodes, for example, a capacity-limited vehicle path problem (CVRP), as an example. In such a problem, for example, a state variable indicating whether or not a certain transportation vehicle exists at a certain node at a certain time by 0, 1 is used. However, as the number of nodes or the number of transportation vehicles increases, the number of state variables increases.
CVRP is a problem for obtaining an order (path) of visiting customers that minimizes a total moving distance and the like based on various input variables when a transport vehicle waiting at a specific facility called a yard (departure point) delivers a demand to (or collects at) a customer location (hereinafter, referred to as a node) and returns to the yard again.
The following constraints a to G exist as constraints of the CVRP.
(constraint a) the total value of the demands of the nodes on all paths except the plant is within the maximum carrying capacity of a single transport vehicle (hereinafter referred to as a truck).
(constraint B) at any time, the truck only passes (visits) a single location (a node) on a single path at the same time.
(constraint C) the truck passes through all nodes except the garage only once.
(constraint D) when a truck passes through a certain node on a certain path except the plant at a certain time (>0), the truck passes through any node on the path at an immediately preceding time.
(constraint E) after the truck passes a certain node on a certain path except the garage at a certain time (< M (time of traveling through all nodes)), the truck passes any node on the path at an immediately subsequent time.
(constraint F) on all paths, the truck passes the garage twice on the same path.
(constraint G) for all paths, the truck does not pass through points other than the truck yard at the start time and the end time.
The optimization device 10 according to the first embodiment uses state variables as shown in fig. 1, for example. The cell in which "1" is described indicates a state variable having a value of 1, and the cell in which no value is described indicates a state variable having a value of 0. Fig. 1 shows an example of state variables in the case of calculating a CVRP having 4 trucks and 13 nodes. Although a plurality of car factories may be provided, it is assumed hereinafter that a single car factory exists.
On the horizontal axis, 1 to 13 denote node numbers, and D0 to D4 denote car factories. The vertical axis represents time t. Although there is a single car plant as described above, D0 to D4 are used in order to allow the departure times from the car plant and the return times to the car plant of the four trucks to be distinguished from each other. For example, the plant where the first truck departs is denoted by D0, the plant where the first truck returns and the plant where the second truck departs are denoted by D1, and the plant where the second truck returns and the plant where the third truck departs are denoted by D2. The factory to which the third truck returns and the factory from which the fourth truck leaves are indicated by D3, and the factory to which the fourth truck returns is indicated by D4.
Therefore, it is sufficient that the number of state variables is 18 × 18. However, when it is assumed that the first truck leaves the plant at time t-0 and the fourth truck returns to the plant at the last time t-17, it is not necessary to provide the state variables for rows t-0, 17 and columns "D0, D4". Thus, the number of state variables indicating whether any of the four trucks is present at any of the 13 nodes or the plant at time t may be 16 × 16 — 256 within the frame 15 of fig. 1.
For example, the number of state variables included in the evaluation function may be the square of (the number of nodes other than the plant + the number of trucks-1).
To satisfy the constraints B, C and F, the 16 × 16 state variables have a 2-to-1 thermal constraint in which the sum of the values of the state variables included in a single row and a single column is 1.
Thus, the set of state variables for each of columns D1 through D3 is the set that satisfies the 1-to-1 thermal constraint. The set of state variables in each of columns D1 through D3 within the frame 15 may be used to calculate the sum of the carrying capacity of four trucks on each path (the total value of the demand of the nodes).
Hereinafter, the groups of state variables of columns D1 through D3 within the frame 15 are referred to as groups gD1, gD2, and gD3, respectively. Within the frame 15, a state variable (x) indicating whether or not a truck is present at a node having a node number n at time t is represented1To x208) Is represented as xt,n. In addition, 16 state variables (x) in group gD1209To x224) Is represented as yD1,1To y D1,1616 state variables (x) in group gD2225To x240) Is represented as yD2,1To yD2,16And 16 state variables (x) in group gD3241To x256) Is represented as yD3,1To yD3,16
To calculate the sum of the carrying capacities of the four trucks on each route, the state variables of the groups gD1 to gD3 as represented above are converted by, for example, the search unit 11 based on the following expression (5).
Figure BDA0003340259660000081
In the expression (5), k is 1, 2, 3, and i is 1, 2, 3, … …, 16.
Fig. 2 shows an example of the conversion result.
In the example shown in FIG. 2, yD1,5、yD2,8、yD3,14Is 1. Thus, with expression (5), the converted value is as follows: z is a radical ofD1,1To zD1,5、zD2,1To zD2,8、zD3,1To zD3,14Is 1; and others are 0.
On the way (D)TOT1To DTOT4) The sum of the carrying capacities of the four trucks on each path in (b) can be calculated by, for example, the following expression (6) using the above-described converted value.
Figure BDA0003340259660000082
In the expression (6), DtIs the sum of the demands at time t and is represented by the following expression (7).
Figure BDA0003340259660000091
In the expression (7), DnIs a requirement for a node with node number n. The demand at the factory is 0.
To achieve D as described aboveTOT1To DTOT4The constraint is: the order in which the values of the state variables of the groups gD1 to gD3 become 1 is the order of the groups "gD 1, gD2, gD 3". For example, a first truck visiting any of the plurality of nodes at a time before the second truck visits returns to the plant at a time before the second truck returns. Further, it is desirable that the second truck visiting any of the plurality of nodes at a time before the third truck visits return to the truck yard at a time before the third truck returns. When the constraint is not satisfied, a constraint violation is applied (constraint violation 1).
In the following example, the case where the state variable of the group gD2 becomes 1 at a time immediately after the time when the state variable of the group gD1 becomes 1 and the case where the state variable of the group gD3 becomes 1 at a time immediately after the time when the state variable of the group gD2 becomes 1 are also set as constraint condition violations (constraint condition violations 2). For example, it is desirable that the second truck not return to the plant at a time immediately after the time that the first truck returned to the plant. Further, it is desirable that the third truck does not return to the plant at a time immediately after the time that the second truck returns to the plant.
Further, the case where the state variables of the groups gD1 to gD3 become 1 at the time immediately after the time when the truck first leaves the plant and the case where the state variables of the groups gD1 to gD3 become 1 at the time immediately before the time when the truck finally arrives at the plant are also set as constraint condition violations (constraint condition violation 3). Constraint violations of 2 and 3 mean that one of the 4 trucks does not visit any nodes. However, constraint violations are not necessarily set according to the problem setting.
Fig. 3 shows an example of the case where the constraint condition is satisfied and the constraint condition is not satisfied.
In fig. 3, none of the constraint violations described above are applied to the example indicated as "OK". Constraint violation 1 is applied to the examples indicated as "NG 1" and "NG 2". Constraint violation 2 is applied to the example indicated as "NG 3" and constraint violation 3 is applied to the example indicated as "NG 4".
In the case where a constraint term is added to the evaluation function to suppress constraint condition violation as described above, the number of constraint terms increases, and there is a possibility that convergence to an optimal solution is reduced.
In the groups gD1 to gD3, based on the identification number of the state variable having a value of 1 in a certain group, the conversion permission range determination unit 12 determines the upper limit or the lower limit of the identification number of the state variable whose value is permitted to change from 0 to 1 in another group.
The conversion allowable range determining unit 12 includes a storage unit 12 a. The storage unit 12a stores identification numbers for identifying state variables of the groups gD1, gD2, gD 3. The storage unit 12a also stores identification numbers for identifying state variables (hot bits) hD1, hD2, hD3 having a value of 1 in the groups "gD 1, gD2, gD 3". The storage unit 12a is, for example, an electronic circuit such as an SRAM or a register.
In the example shown in FIG. 1, as x209To x224Is stored as the identification number of the state variable of the group gD 1. Further, as x225To x 240225 to 240 as the identification number of the state variable of the group gD2, and as x241To x 256241 to 256 of the identification numbers are stored as the identification numbers of the state variables of the group gD 3. Further, as x213Is stored as the identification number of hot-level hD1 as x 232232 of is stored as the identification number of the hot bit hD2, and as x254Is stored as the identification number of hot bit hD 3.
Fig. 1 shows an example of processing performed by the conversion allowable range determining unit 12.
To avoid the constraint violation of 3 described above, the lower limit of the identification number of the state variable whose value is allowed to change from 0 to 1 in the group gD1 is 210 obtained by adding 1 to the first identification number 209 of the state variable of the group gD 1.
To avoid the above constraint violations of 1, 2, the upper limit of the identification number of the state variable whose value is allowed to change from 0 to 1 in the group gD1 is determined based on the identification number of the warm bit hD 2. In the case where the number of state variables (group size) included in each of the groups gD1 through gD3 is 16 in the example shown in fig. 1, the identification number-16-2 of the warm bit hD2 is the upper limit of the identification number of the state variable whose value is allowed to change from 0 to 1 in the group gD 1. When hot position hD2 has an identification number of 232, the upper limit is 232-16-2-214.
To avoid the above constraint violations of 1, 2, the lower bound of the identification number of the state variable whose value is allowed to change from 0 to 1 in the group gD2 is determined based on the identification number of the warm bit hD 1. In the case of group size 16, identification number +16+2 of hot bit hD1 is the lower limit of the identification number of the state variable in group gD2 whose value is allowed to change from 0 to 1. When the hot position hD1 has an identification number of 213, the lower limit is 213+16+2 — 231.
To avoid the above constraint violations of 1, 2, the upper limit of the identification number of the state variable whose value is allowed to change from 0 to 1 in the group gD2 is determined based on the identification number of the warm bit hD 3. In the case of group size 16, identification number-16-2 of hot bit hD3 is the upper limit of the identification number of the state variable in group gD2 whose value is allowed to change from 0 to 1. When hot position hD3 has an identification number of 254, the upper limit is 254-16-2 ═ 236.
To avoid the above constraint violations of 1, 2, the lower bound of the identification number of the state variable whose value is allowed to change from 0 to 1 in the group gD3 is determined based on the identification number of the warm bit hD 2. In the case where the group size is 16, the identification number +16+2 of the hot bit hD2 is the lower limit of the identification number of the state variable whose value is allowed to change from 0 to 1 in the state variable group in the D3 column. When hot position hD2 has an identification number of 232, the lower limit is 232+16+ 2-250.
To avoid the constraint condition violation of 3 described above, the upper limit of the identification number of the state variable whose value is allowed to change from 0 to 1 in the group gD3 is 255 obtained by subtracting 1 from the last identification number 256 of the state variable of the group gD 3.
The conversion permission range determining unit 12 outputs a signal indicating whether the permission value is changed from 0 to 1 (a signal indicating conversion prohibition or conversion permission) for each of the state variables of the groups gD1 to gD3 based on the upper limit or the lower limit determined as described above. In the example shown in fig. 1, the signal indicating the switching prohibition is 1, and the signal indicating the switching permission is 0.
For example, with respect to group gD2, for x whose value is allowed to change from 0 to 1231To x236Except that x has a value of 1232X outside231To x236A signal indicating the permission of the switching is output. For x232、x225To x230And x237To x240And outputs a signal indicating the switching prohibition.
For the state variable for which the signal indicating the prohibition of conversion is output, the search unit 11 uses a predetermined large positive value as the amount of energy change when the value of the state variable changes. This can suppress the allowance of the change in the value of the state variable and suppress the occurrence of the violation of the constraint conditions 1 to 3.
Fig. 4 shows another example of determination of the range in which the allowable value changes.
In the example shown in fig. 4, in the groups gD1 to gD3, the state variables whose values are allowed to change from 0 to 1 are state variables whose identification numbers are 1 or less than the identification number of the state variable having a value of 1. However, in order not to cause the above-described constraint violations 1 to 3 to be applied, the upper limit or the lower limit of the identification number of the state variable that is allowed to change is determined as in the above-described example.
As the example shown in fig. 4, when the value of a state variable whose identification number is 1 larger than that of a state variable having a value of 1 in the group gD1 becomes 1, this results in a constraint condition violation 2 being applied with respect to the state variable having a value of 1 in the group gD 2. Therefore, in the group gD1, only changes of state variables whose identification numbers are smaller than that of the state variable having the value of 1 by 1 are allowed.
When the value of a state variable whose identification number is 1 smaller than that of a state variable having a value of 1 in the group gD2 becomes 1, this results in a violation of 2 in the constraint condition applied with respect to the state variable having a value of 1 in the group gD 1. Therefore, in the group gD2, only changes of state variables whose identification numbers are larger than that of the state variable having the value of 1 by 1 are allowed.
When the value of a state variable whose identification number is 1 larger than that of a state variable having a value of 1 in the group gD3 becomes 1, this results in a constraint violation of 3. Therefore, in the group gD3, only changes of state variables whose identification numbers are smaller than that of the state variable having the value of 1 by 1 are allowed.
Further limiting the range in which the change in the allowable value is allowed as described above may enable simplification of the hardware configuration of the search unit 11, the search unit 11 determining whether to allow the change based on the amount of energy change in the case where the value of the state variable changes.
In the example shown in fig. 4, the state variable whose value is allowed to change from 0 to 1 is a state variable whose identification number is 1 or less than that of the state variable having a value of 1. However, these variable-value state variables are not necessarily state variables whose identification numbers are 1 or less than the identification number of the state variable having the value 1. The state variable whose value is variable can be set as appropriate.
As described above, with the optimization device 10 according to the first embodiment, based on the identification number of the state variable having the value 1 in a certain group, the upper limit or the lower limit of the identification number of the state variable whose value is allowed to change from 0 to 1 in another group is determined. Therefore, the range of the next state variable whose value is allowed to change can be limited according to the current state, and a solution that satisfies the constraint condition without adding a constraint term can be searched for. Therefore, convergence to the optimal solution can be improved.
As shown in fig. 1, it is sufficient that the number of state variables included in the evaluation function is a square of (the number of nodes other than the car plant + the number of trucks-1). Therefore, even when the number of nodes or the number of trucks increases, the number of state variables can be suppressed.
With the optimization device 10, a group gD1 to gD3 indicating whether or not the truck returns to the truck factory at each time (the group of (the number of trucks-1)) is provided for (the number of trucks-1) trucks, and the sum of the carrying capacity of each truck on each path can be calculated by using these. This enables calculation of a constraint term for avoiding a case where the sum of the carrying capacities exceeds the maximum carrying capacity (a calculation example of the constraint term will be described later). Therefore, it is not desirable to make an effort in preparing a plurality of patterns of combinations of the carrying capacities of, for example, trucks satisfying the maximum carrying capacity to search for an optimal solution for each pattern. Therefore, an increase in the number of times of execution of the optimal solution search process can be suppressed.
The technique of determining the upper limit or the lower limit of the identification number of the state variable whose value is allowed to change from 0 to 1 as described above is not limited to the path problem of a plurality of nodes such as CVRP, and can also be applied to other combinatorial optimization problems.
(second embodiment)
Fig. 5 shows an example of an optimization device according to a second embodiment.
The optimization device 20 according to the second embodiment includes a search unit 21 and a conversion allowable range determination unit 22.
The search unit 21 performs a determination process of determining whether or not a value of any of the plurality of state variables included in the evaluation function can be changed based on an amount of energy change in the case where the value is changed. Based on the result of the determination processing, the search unit 21 repeatedly performs update processing of changing the value of any of the plurality of state variables, thereby searching for an optimal solution that minimizes energy.
The search unit 21 performs the update processing while satisfying the 1-hot constraint (2-to-1 hot constraint in the following example). As in the case of the search unit 11 according to the first embodiment, the search unit 21 can perform the update process while satisfying the 1-to-1 thermal constraint.
The 16 × 16 state variables (state variables arranged in 16 rows and 16 columns) set as shown in fig. 1 for calculating the CVRP as described above have a 2-to-1 thermal constraint.
The values of the four state variables change in a single state transition, excluding searches for states other than those that satisfy the 2-to-1 thermal constraint.
When one of the state variables having a value of 0 is set as an update target candidate in a state satisfying the 2-to-1 thermal constraint, the state variables of the other three update target candidates are determined. When having a state variable x with a value of 0jIs set as an update target candidate, is included injOf state variables in the same row and column, and a state variable x having a value of 1i、xlIs set as an update target candidate. In addition, in the same general formula as xiIs the same as the column neutralization of xlX having a value of 0 in the same rowkIs set as an update target candidate.
The energy change of the generated Esino model in the case of a change in the values of these four state variables is Δ EjWhen is Δ EjCan be represented by the following expression (8).
ΔEj=(hi+hl)-(hj+hk)-(Wil+Wjk) (8)
Due to xi、xj、xk、xlOf local fields caused by changes inVariation (Δ h)m(m ═ 1, 2, … …, N)) can be represented by the following expression (9).
Δhm=Wjm+Wkm-(Wim+Wlm) (9)
The search unit 21 includes a Δ E calculation unit 21a, a selection circuit 21b, an identification number calculation unit 21c, an update unit 21d, and a control unit 21E.
In each of the groups satisfying 1 thermal constraint, the Δ E calculation unit 21a calculates an energy change amount (Δ E) when a state transition from a certain state satisfying 1 thermal constraint to another state satisfying 1 thermal constraint by a Hamming distance (Hamming distance) of 41To Δ EN). The Δ E calculating unit 21a calculates the energy variation amount represented by expression (8) so as to execute the update process while satisfying the 1 thermal constraint.
For the state variable for which the signal indicating the prohibition of conversion is output by the conversion permission range determination unit 22 or the state variable having the current value 1, the Δ E calculation unit 21a outputs a predetermined large positive value as the energy change amount when the value of the state variable changes. The predetermined large positive value is, for example, a positive maximum value that can be output by the optimizing device 20. The state variable having the current value 1 is notified by the N control signals EN output from the updating unit 21 d. For example, the control signal EN corresponding to the state variable having the current value 1 is 1, and the control signal EN corresponding to the state variable having the current value 0 is 0.
The Δ E calculation unit 21a is realized by using, for example, registers that hold the weight coefficients and local fields, selectors that select the weight coefficients used for the calculations of expressions (8) and (9), adders/subtractors that perform the calculations of expressions (8) and (9), and the like.
Selection circuit 21b is based on thermal activation energy and Δ E1To Δ ENAnd outputs an identification number j for identifying one of state variables whose value is allowed to be changed from 0 to 1 among state variables having a value of 0 included in each group. The thermal excitation energy is determined based on the random number and the parameter T indicating the temperature input from the control unit 21 e. The thermal excitation energy may also be referred to as a noise value. In some casesAccording to the thermal excitation energy and Delta E1To Δ ENThe magnitude relationship between them, does not allow any change of the state variable with value 0. Hereinafter, it is assumed that the selection circuit 21b outputs the identification number j together with a flag f indicating whether or not a change in the value of the state variable having the identification number j is permitted. For example, in the case where the value of the flag f is 1, this indicates that a change in the value of the state variable is allowed, and in the case where the value of the flag f is 0, this indicates that the change is not allowed.
The identification number calculation unit 21c includes, for example, a register that stores the identification number of the group to which each of the state variables belongs and the identification number of the state variable having the value 1 in each group. The identification number calculation unit 21c calculates the other three identification numbers i, k, l based on the identification number j output by the selection circuit 21 b.
For example, i and l are xiAnd xlIdentification number of (1), xiAnd xlIs comprised injOf the state variables in the same row and column, has a value of 1. The identification number k is equal to xiIs the same as the column of (a) and xlX in the same row ofkAnd k can be calculated by k ═ i + l-j.
Hereinafter, it is assumed that the identification number calculation unit 21c also outputs the identification number j and the flag f supplied from the selection circuit 21 b. The identification numbers i, j, k, l are supplied to the Δ E calculation unit 21a, and are used when updating the local field for calculating the amount of energy change based on expression (9). When the flag f indicates that no change is permitted, the identification-number calculating unit 21c sets the identification numbers i, j, k, l to, for example, an invalid value (e.g., 0).
The identification number calculation unit 21c may be, for example, a unit in which a processor (e.g., a CPU or a GPU) performs the processing as described above based on the identification number stored in a register, or may be realized by using various types of logic circuits.
The updating unit 21d includes holding, for example, N state variables (x)1To xN) The value of (2) in memory location 21d 1. The storage unit 21d1 is formed, for example, by using an electronic circuit such as a register, an SRAM, or the likeAnd (5) realizing. When the flag f indicates permission of change, the updating unit 21d updates the value of the state variable having the identification number i, l output by the identification number calculating unit 21c from 1 to 0, and updates the value of the state variable having the identification number j, k from 0 to 1.
The updating unit 21d updates the energy based on the energy change amount corresponding to the change of the state variable having the identification numbers i, j, k, l. The storage unit 21d1 holds the minimum energy at each update and the state at which the minimum energy is obtained (the state at which the energy is at the minimum). The updating unit 21d updates x1To xNAnd the control signal EN is supplied to the Δ E calculation unit 21 a.
The updating unit 21d may be implemented by using: an addition circuit for updating energy, a comparator comparing the updated energy with the previous minimum energy, various types of logic circuits inverting the value of a state variable having an identification number of i, j, k, l from 0 to 1 or from 1 to 0, and the like.
The control unit 21e performs initial setting processing of the optimization device 20. As the initial setting processing, setting of a weight coefficient used for calculation of expression (4), setting of initial values of a local field and a state variable, setting of an identification number of a group to which the state variable belongs, and the like are performed. The initial values of the state variables are set so that 1 thermal constraint is satisfied in each of the groups. For example, for a group for which the conversion allowable range determination unit 22 to be described later determines a range in which the allowable value changes, a warm bit is set so that the constraint violation 1 to 3 as described above is not applied.
The control unit 21e decreases the value of T each time the update process of updating the state of the ixing model is repeated a predetermined number of times, for example, in accordance with a temperature plan designated from the outside.
For example, the control unit 21e obtains the state (x) held by the storage unit 21d1 after the update processing has been repeated a predetermined number of times of repetition1To xN) And will state (x)1To xN) And outputting the solution to the outside as the solution of the optimization problem. The control unit 21e may obtain and output the update result after the update processing has been repeated a predetermined number of times of repetition21d1, the minimum energy saved and the state when the energy is at a minimum. The control unit 21e may output the obtained various types of information to a display device (not shown) so as to display the information, or may transmit the information to an external information processing device.
The control unit 21e may be implemented, for example, by an electronic circuit such as an ASIC or FPGA. The control unit 21e may be a processor such as a CPU or GPU. In this case, the processor performs the above-described processing by executing a program stored in a memory (not shown).
The conversion allowable range determining unit 22 determines a range in which the allowable value changes for a plurality of groups so that the predetermined constraint condition violation is not applied.
Fig. 6 shows an example of the conversion allowable range determining unit.
The conversion permission range determining unit 22 includes a storage unit 22a, a hot bit updating unit 22b, a boundary value calculating unit 22c, and a conversion permission-inhibition signal output unit 22 d.
The storage unit 22a stores, for example, values and identification numbers of N state variables, an identification number of a group to which the state variables belong, an identification number for identifying state variables of a plurality of groups for which a transition allowable range is determined, and a group size (the number of state variables belonging to a single group). The storage unit 22a also stores the identification number of the hot bit in each of the groups for which the conversion permission range is determined. In the above-described initial setting processing performed by the control unit 21e, these identification numbers and group sizes are stored in the storage unit 22 a. The storage unit 22a also stores the boundary values (upper and lower limits) of the identification numbers of the state variables whose values are allowed to change from 0 to 1 in each of the groups for which the conversion allowing ranges are determined, which are calculated by the boundary value calculating unit 22 c. The storage unit 22a is, for example, an electronic circuit such as an SRAM or a register.
The hot bit updating unit 22b updates the state (x) stored in the storage unit 21d1 based on the identification number j, k, and the flag f output by the identification number calculating unit 21c and the state (x) stored in the storage unit 21d11To xN) The identification number of the warm bit stored in the memory cell 22a is updated. For example, when j or k is associated with a transition for which it is determined that it is stored in the storage unit 22aThe identification numbers of the state variables of the groups of shift allowance match and xjOr xkWhen it becomes 1, the hot bit update unit 22b sets j or k as the identification number of the hot bit of the group. Such a hot bit update unit 22b may be implemented by various types of logic circuits.
The boundary value calculating unit 22c calculates boundary values (upper and lower limits) of the identification numbers of the state variables whose values are allowed to change from 0 to 1 in the group, based on the state variables, the identification numbers of the warm bits, and the group size of each of the groups for which the conversion allowing range is determined.
Fig. 7 shows an example of calculation of the boundary value.
Fig. 7 shows an example in which the boundary values are calculated such that the constraint violations 1 to 3 as described above are not applied.
In the group gD1, the lower limit Min is a value obtained by adding 1 to the first identification number of the state variables of the group gD1, and the upper limit Max is a value obtained by subtracting 18 from the identification number of the hot bit of the group gD 2. As noted above, 18 is group size (16) + 2.
In the group gD2, the lower limit Min is a value obtained by adding 18 to the identification number of the hot position of the group gD1, and the upper limit Max is a value obtained by subtracting 18 from the identification number of the hot position of the group gD 3.
In the group gD3, the lower limit Min is a value obtained by adding 18 to the identification numbers of the hot bits of the group gD2, and the upper limit Max is a value obtained by subtracting 1 from the last identification number of the state variable of the group gD 3.
The boundary value calculation unit 22c that performs such processing is realized by using, for example, various types of logic circuits such as addition and subtraction circuits and the like.
The conversion permission-inhibition signal output unit 22d outputs a signal (conversion permission-inhibition signal) indicating permission or inhibition of a change in value for each of the state variables belonging to the plurality of groups based on the boundary value calculated by the boundary value calculation unit 22c and stored in the storage unit 22 a.
Fig. 8 shows an example of the conversion enable-disable signal output unit and the storage unit.
Fig. 8 shows register groups 22a1, 22a2, 22a3, 22a4, 22a5 that store part of the information stored in the storage unit 22 a.
Register set 22a1 stores x1To xNThe register group 22a2 stores x1To xNIdentification numbers (g) of groups to which the respective groups belong1To gN) And register bank 22a3 stores x1To xNThe value of (c). Register set 22a4 stores x1To xNThe above lower limit (Min) in the group to which each belongs1To MinN) And register bank 22a5 stores x1To xNThe above upper limit (Max) in the group to which each belongs1To MaxN)。
When having the state variable (x) with identification number jj) When the identification number of the group to which the conversion permission range belongs matches the identification number of the group for which the conversion permission range stored in the storage unit 22a is determined, Min is updated1To MinNAnd Max1To MaxNJ (th) Min in (1)jAnd Maxj. Therefore, the above-described lower limit and upper limit are held in the initial values of the group different from the group for which the conversion allowable range is determined.
The conversion enable-disable signal output unit 22d includes conversion enable-disable bit generation circuits 22d1, 22d2, … …, 22 dN. The conversion enable-disable bit generation circuits 22d1 to 22dN are based on x1To xN、Min1To MinNAnd Max1To MaxNIs generated and output an indication for x respectively1To xNConversion enable-disable bit p whether the enable value changes from 0 to 11、p2、……、pN. Therefore, the conversion enable-disable signal output unit 22d outputs the conversion enable-disable bit p by using N conversion enable-disable bits1To pNThe switching enable-disable signal.
Fig. 9 shows an example of the conversion enable-disable bit generation circuit.
Fig. 9 shows a circuit example of the i-th conversion enable-disable bit generation circuit 22di among the conversion enable-disable bit generation circuits 22d1 through 22dN shown in fig. 8. Other conversion enable-disable bit generation circuits may also be implemented by similar circuit configurations.
The conversion enable disable bit generating circuit 22di includes comparison circuits 30, 31 and a negative and (nand) circuit 32.
The comparison circuit 30 outputs the identification numbers i and xiThe above lower limit Min in the groupiThe result of the comparison therebetween. The comparison circuit 30 is in MiniOutput 1 at ≦ i, and in Mini>i outputs 0.
The comparison circuit 31 outputs the identification numbers i and xiThe above-mentioned upper limit Max in the groupiThe result of the comparison therebetween. Comparator circuit 30 at MaxiOutput 1 in case of ≧ i, and Maxi<i outputs 0.
The NAND circuit 32 outputs the output signals of the comparison circuits 30, 31 and the result of the inversion xiValue obtained value (at x)iA value of 1 in the case of 0, xi0 in the case of a value of 1). In the case where all three inputs are 1, the nand circuit 32 outputs an indication of permission xiIs changed from 0 to 0 of 1 as the conversion enable-disable bit pi. In the case where at least one of the three inputs is 0, the nand circuit 32 outputs an instruction to disable xiIs changed from 0 to 1 as the conversion enable-disable bit pi
The use of the conversion allowable range determining unit 22 as described above enables the range in which the allowable value changes to be determined for a plurality of groups so that the predetermined constraint condition violation is not applied.
For a group other than the group for which the conversion permission range is determined, for example, it is sufficient to set the initial value of the above-described lower limit to 1 and the initial value of the above-described upper limit to N. In such a case, a conversion enable-disable bit 0 indicating that a value change from 0 to 1 is allowed is output for state variables belonging to different groups.
(first calculation technique for energy variation amount considering constraint conditions of CVRP)
As described above, in CVRP, there is a constraint condition that: under the constraint, for all paths, nodes other than the garage on the pathThe total value of demand is within the maximum carrying capacity of a single truck. For example, path (D)TOT1To DTOT4) The sum of the carrying capacities of the four trucks on each path in (b) can be calculated by the above expression (6), and these are quadratic expressions with respect to the state variables. Thus, DTOT1To DTOT4Can be converted into the following expression (10).
Figure BDA0003340259660000191
In the expression (10), x is (x)1、x2、……、xN) Matrix, and V1To V4Are each an N × N matrix.
When the maximum carrying capacity is Q, the above constraint can be expressed as DTOT1To DTOT4≤Q。
An evaluation function including such quadratic inequality constraints as constraint terms can be represented by the following expression (11).
E=C+max(DTOT1-Q,0)+…+max(DTOT4-Q,0) (11)
In expression (11), C is a cost term and represents the total moving distance of four trucks. The cost term C can be represented by the following expression (12).
Figure BDA0003340259660000192
In expression (12), W is a compound having W as represented in expression (1)ijN of (A)&X N matrix.
The change in the value of the evaluation function (energy change amount) Δ E as described above can be represented by the following expression (13).
Figure BDA0003340259660000193
In the Δ E calculation unit 21a shown in fig. 5, in order to calculate Δ E as shown in expression (13) as described above, Δ C, Δ P1 to Δ P4 may be respectively calculated in parallel and added together.
Fig. 10 shows an example of the Δ E calculation unit.
The Δ E calculation unit 40 includes memory cells 41a, 41b1 to 41b4, Δ C calculation circuits 42a, Δ DTOTThe calculation circuits 42b1 to 42b4 and the Δ E output circuit 43.
The storage unit 41a stores the above W. The storage cells 41b 1-41 b4 store the above V1To V4. The memory cells 41a, 41b1 to 41b4 may be realized by using, for example, an electronic circuit such as a register, an SRAM, or the like.
Δ C calculation circuit 42a for x1To xNEach of which is calculated with Δ E as represented by expression (8)jThe corresponding energy variation (Δ C). The identification numbers i, j, k, and l supplied to the Δ C calculation circuit 42a are used to select elements of W used for calculation. The local field (e.g., held in a register) of expression (8) is propagated to the circuitry, which uses x1To xNTo aim at x1To xNCalculates the amount of energy change.
However, the Δ C calculation circuit 42a outputs a large positive value as the state variable or the transition enable-disable bit p for which the corresponding control signal EN is 11To pNThe corresponding one of which is the amount of change of the state variable of 1.
ΔDTOTThe computing circuits 42b 1-42 b4 are for x1To xNEach of which is calculated with Δ E as represented by expression (8)jCorresponding energy variation (Δ D)TOT1To Δ DTOT4). However, unlike the Δ C calculation circuit 42a, Δ DTOTThe computation circuits 42b 1-42 b4 use V1To V4Instead of W. For example, Δ DTOTThe calculation circuit 42b1 uses V1For each x1To xNCalculating the energy variation amount DeltaDTOT1
Supply to Δ DTOTThe identification numbers i, j, k, and l of the calculation circuits 42b1 to 42b4 are used to select V for calculation1To V4Of (2) is used. Part of expression (8)Fields are propagated to using x1To xNTo aim at x1To xNAny of the circuits for calculating the amount of energy change.
ΔDTOTThe calculation circuits 42b1 to 42b4 may also output large positive values as state variables for which the corresponding control signal EN is 1 or the corresponding conversion enable-disable bit p1To pNThe amount of change in the state variable is 1.
Based on expression (13), the Δ E output circuit 43 calculates and outputs Δ E1To Δ EN,ΔE1To Δ ENIs directed to x1To xNThe corresponding amount of energy change.
(second calculation technique for energy variation amount considering constraint conditions of CVRP)
According to the second calculation technique, the optimization device 20 calculates and stores the total D of the demand at each of the times t based on expression (7)t. The optimization device 20 stores a variable r indicating whether the truck has traversed the path i at time ti,t
FIG. 11 shows DtAnd ri,tThe storage example of (2).
Fig. 11 shows D when i is 1 to 4 and t is 1 to 16tAnd ri,tStorage example of (2). About ri,tr i,t1 in the case where the truck passes through path i at time t, and 0 in the case where the truck does not pass through path i at time t.
At x1To xNIn the case of (1), there are a case where the order of nodes to be visited on the same path is changed, a case where nodes to be visited are exchanged between + different paths, and a case where the order of the factories to be visited and the order of the nodes to be visited are exchanged, according to the identification number of the state variable whose value is changed.
Fig. 12 shows an example of case 1.
Fig. 12 shows an example of this: in this example, in the case where a CVRP having four trucks and 13 nodes is calculated as in the case of fig. 1, the order of accessing the node having the node number of 2, 4 is exchanged by the change in the values of the four state variables in the state variables (16 × 16 state variables in the frame 15).
In case 1, in the example shown in fig. 12, the total D of the demand at each of the times ttIn exchange for D2And D3. However, the total carrying capacity (D) on each pathTOT1To DTOT4) There was no change. Therefore, the constraint term in the evaluation function as represented by expression (11) does not change.
FIG. 13 shows r before and after the state transition of case 1i,tStorage example of (2).
In case 1, r is as shown in FIG. 13i,tBefore and after a state transition (change of four state variables (four bit transition)).
Fig. 14 shows an example of case 2.
In the example shown in fig. 14, in the first path, the node that the truck visits at time t-2 is changed from the node with node number 2 to the node with node number 3. In the second path, the node that the truck visits at time t-3 changes from the node with node number 3 to the node with node number 2. For example, the nodes to be visited are switched between different paths.
In case 2, the total D of demand at each of the times ttIn exchange D2And D6And change DTOT1And DTOT2. Thus, the constraint term changes. However, r before and after the state transition of case 2i,tSimilar to that in fig. 13, and does not change before and after the transition.
Fig. 15 shows an example of case 3.
In the example shown in fig. 15, in the first path, the truck returns to the truck yard at time t-3, instead of visiting the node with node number 4. In the second path, the truck visits the node with node number 4 at time t-5, rather than in the truck yard.
In case 3, the total D of demand at each of the times ttIn (D)3And D5Is exchanged and DTOT1And DTOT2Is changed. Thus, the constraint term changes.
Fig. 16 shows r before and after the state transition of case 3i,tStorage example of (2).
In case 3, the number of nodes to be accessed in the two paths changes before and after the state transition. Thus, as shown in FIG. 16, r for two pathsi,tChanges also occur before and after state transitions.
Optimizing apparatus 20 based on DtAnd ri,tCalculating DTOT1To DTOT4And calculating Δ D in consideration of the above cases 1 to 3TOT1To Δ DTOT4. As described above, in the state transition of case 1, DTOT1To DTOT4And is not changed. In contrast, in the state transitions of cases 2, 3, DTOT1To DTOT4Any two of which are changed.
In the example shown in fig. 14 (case 2), D before the state transitionTOT1Is DTOT1=D1+D2+D3+D4+D5And D before state transitionTOT2Is DTOT2=D6+D7+D8. D after state transitionTOT1Is DTOT1=D1+D'2+D3+D4+D5And D after state transitionTOT2Is DTOT2=D'6+D7+D8. Here, D'2=-D'6
The change in the sum of the carrying capacity before and after the state transition is Δ DTOT1=ΔD2=D'2-D2. This can be represented by the following expression (14).
Figure BDA0003340259660000221
In expression (14), Δ r1,iRepresents the state at time t ═ iR before and after a transition1,iA change in (c). In the example of fig. 14, Δ r1,iIs 0.
At the same time, represents Δ DTOT2=-ΔDTOT1Is possible.
In the example shown in fig. 15 (case 3), D before the state transitionTOT1Is DTOT1=D1+D2+D3+D4+D5And D before state transitionTOT2Is DTOT2=D6+D7+D8. D after state transitionTOT1Is DTOT1=D1+D2+D'3And D after state transitionTOT2Is DTOT2=D4+D'5+D6+D7+D8
The change in the sum of the carrying capacity before and after the state transition is Δ DTOT1=ΔD3-(D4+D5)=ΔD3+(D4Δr1,4+D5Δr1,5). This can be represented by the following expression (15).
Figure BDA0003340259660000231
In expression (15), Δ r1,iDenotes r before and after the state transition at time t ═ i1,iA change in (c). In case 3,. DELTA.r1,iIs 1.
At the same time, represents Δ DTOT2=-ΔDTOT1Is possible.
When the above example is considered, the change Δ D of the sum of the carrying capacities before and after the state transition in a certain path pTOTpCan be calculated by the following stages.
Stage 1: the optimization device 20 generates the identification numbers i, j, k, l of the four state variables of the transition candidates.
And (2) stage: the optimization device 20 calculates a path p on which the sum of the capacities of the loads changes, based on the identification numbers i, j, k, and l.
And (3) stage: the optimization device 20 obtains the section of the identification number in which the sum of the carrying capacities for the path p changes s1, s 2.
And (4) stage: the optimization device 20 calculates a target interval s1, s2]Delta D oft、Δri,t
And (5) stage: the optimizing device 20 calculates Δ D based on the following expression (16)TOTp
Figure BDA0003340259660000232
In the optimization device 20, in order to perform the stages 1 to 5 as described above, for example, a Δ E calculation unit as described below may be used.
Fig. 17 shows another example of the Δ E calculation unit. In fig. 17, the same elements as those shown in fig. 10 are denoted by the same reference numerals.
The Δ E calculation unit 50 includes a storage unit 51, an update circuit 52, a conversion candidate generation circuit 53, a path p calculation circuit 54, and Δ DTOT A calculation circuit 55 and a Δ E output circuit 56.
As shown in fig. 11, the storage unit 51 stores DtAnd ri,t. The storage unit 51 may be realized by using, for example, an electronic circuit such as a register, an SRAM, or the like.
The update circuit 52 is based on x1To xNUpdates D stored in the storage unit 51tAnd ri,t
The conversion candidate generation circuit 53 is based on x1To xNGenerates the identification numbers i, j, k, l of the four state variables of the transition candidate. For example, the conversion candidate generation circuit 53 selects the identification number j from the identification numbers of the state variables whose current values are 0, and repeats the process of generating the other identification numbers i, k, l as many times as the number of state variables having a value of 0 so that the 2-to-1 thermal constraint is satisfied. However, the conversion candidate generation circuit 53 does not use its conversion enable-disable bit p1To pNIdentification number of state variable of 1Is given any one of the identification numbers i, j, k, l.
As shown in fig. 4, further limiting the range in which the allowable value changes as described above may enable simplification of the hardware configuration of the conversion candidate generation circuit 53 and the circuit that performs the subsequent processing.
The route p calculation circuit 54 calculates the route p whose sum of carrying capacities changes based on the identification numbers i, j, k, l generated by the conversion candidate generation circuit 53. For example, this process is performed as many times as the number of sets of identification numbers i, j, k, l generated by the conversion candidate generation circuit 53.
ΔDTOTThe calculation circuit 55 obtains the section [ s1, s2] of the identification number in which the sum of the carrying capacities of the paths p changes]. For example, in the case of the example shown in fig. 14 (case 2), s1 ═ s2 ═ 2, and in the case of the example shown in fig. 15 (case 3), s1 ═ 3, and s2 ═ 5. Based on DtAnd ri,t,ΔDTOTThe calculation circuit 55 calculates a calculation result for the section s1, s2]Delta D oftAnd Δ ri,tAnd calculating Δ D as shown in expression (16)TOTp
Delta E output circuit 56 is based on DtAnd ri,tTo calculate DTOTp. The Δ E output circuit 56 will vary Δ P through all paths P for the sum of carrying capacitypAnd for x by the Δ C calculation circuit 42a1To xNIs added to each of the outputs to calculate and output Δ E1To Δ EN. Here,. DELTA.Pp=max(DTOTp+ΔDTOTp-Q,0)-max(DTOTp-Q,0)。
(example of the overall operation of the optimizing device 20)
Fig. 18 is a flowchart showing an example of the overall operation flow of the optimization apparatus.
Although the case of using the simulated annealing method is described below as an example, the present disclosure is not limited thereto, and a technique such as a replica exchange method may be used.
First, under the control of the control unit 21e, an initial setting process is executed (step S1). In the initial setting process, the control unit21e performs setting of a weight coefficient used for calculation of expression (4), setting of initial values of a local field and a state variable, setting of an identification number of a group to which the state variable belongs, and the like. When the first calculation technique for Δ E described above is used, the control unit 21E sets V to be zero1Is set as V4. When the second calculation technique for Δ E is used, the control unit 21E sets DtAnd ri,tIs started.
The initial values of the state variables are set so that 1 thermal constraint is satisfied in each of the groups. For example, for the group for which the conversion allowable range determination unit 22 determines the range in which the allowable value changes, the warm bit is set so that the constraint conditions violating 1 to 3 as described above are not applied.
The control unit 21e sets the initial value of T based on a predetermined temperature change schedule, the number of repetitions of the update process, and the like.
Then, the conversion allowable range determining unit 22 determines a range in which the allowable value changes (conversion allowable range) (step S2).
In each of the groups satisfying 1 thermal constraint, the Δ E calculation units 21a, 40, 50 calculate Δ E when a state transition from a state satisfying 1 thermal constraint to another state satisfying 1 thermal constraint by a state transition with a hamming distance of 41To Δ EN(step S3).
The Δ E calculation units 21a, 40, 50 output a predetermined large positive value as the energy change amount for the transition prohibition bits as the state variables for which the transition permission range determination unit 22 outputs the signal indicating the transition prohibition or the state variables having the current value 1.
After the process in step S3 has been performed, the selection circuit 21b bases on Δ E1To Δ ENThe identification number j is selected (step S4).
The processing of step S4 is based on Delta E1To Δ ENDetermining whether x is allowed1To xNA change determination process of any one of them. For example, selection circuit 21b combines the thermal excitation energy generated based on T and a uniform random number with Δ E1To Δ ENIs compared, and an energy amount less than the thermal excitation energy is selectedThe amount is quantified, and the identification number corresponding to the amount of variation is selected as j. When there are a plurality of energy variation amounts smaller than the thermal excitation energy, the selection circuit 21b selects one of the energy variation amounts from among these energy variation amounts, for example, according to a predetermined rule or randomly. When there is no amount of energy change less than the thermal excitation energy, no change in any state variable occurs. However, the selection circuit 21b may facilitate the generation of the state transition by, for example, adding the thermal excitation energy to the offset value.
Further, after the process of step S4 has been performed, the identification-number calculating unit 21c calculates the identification numbers i, k, l from the selected identification number j (step S5).
Then, the update process is executed (step S6). In the process of step S6, the Δ E calculation units 21a, 40, 50 update the local fields, and the update unit 21d updates the four state variables stored in the storage unit 21d 1. When the Δ E calculation unit 50 is used, D stored in the storage unit 51tAnd ri,tUpdated by the update circuit 52.
In the process of step S6, the identification number of the hot-bit stored in the storage unit 22a is updated by the hot-bit updating unit 22b of the conversion permission range determining unit 22.
The control unit 21e determines whether the number of repetitions of the processing in steps S2 to S6 has reached the predetermined number of times N1 (step S7). When the number of repetitions does not reach the predetermined number of times N1, the process from step S2 is repeated.
When the number of repetitions has reached the predetermined number of times N1, the control unit 21e determines whether the number of changes in T (the number of temperature changes) has reached the predetermined number of times N2 (step S8).
When the number of temperature changes does not reach the predetermined number of times N2, the control unit 21e changes T (decreases the temperature) (step S9). The manner of changing the value of T and the predetermined number of times N1, N2 (e.g., to what extent these values are reduced at once) are determined based on a predetermined temperature change plan or the like. After the process in step S9 has been performed, the process from step S2 is repeated.
For example, when the number of temperature changes has reached the predetermined number of times N2, the control unit 21e outputs the values of all the state variables saved in the storage unit 21d1 at that time as the calculation result (step S10), and ends the processing. Each time a state transition occurs, the control unit 21e may calculate energy based on the values of all the state variables, sequentially update the values of all the state variables by which the minimum energy is obtained, and output the values of all the state variables as a solution when the number of temperature changes has reached the predetermined number of times N2.
The order of the above-described processing is not limited to the above-described example, and the cycles of the processing may be appropriately interchanged.
As described above, the optimizing device 20 according to the second embodiment produces effects similar to those of the optimizing device 10 according to the first embodiment. For example, based on the identification number of the state variable having a value of 1 in a certain group, the conversion allowable range determination unit 22 determines the upper limit or the lower limit of the identification number of the state variable whose value is allowed to change from 0 to 1 in another group. Therefore, the range of the next state variable whose value is allowed to change can be limited according to the current state, and a solution that satisfies the constraint condition without adding a constraint term can be searched for. Therefore, convergence to the optimal solution can be improved.
Although aspects of the optimization apparatus and the optimization method according to the present disclosure have been described based on the embodiments, these are merely exemplary, and the present disclosure is not limited to the above description.

Claims (12)

1. An optimization device, comprising:
a search unit that searches for an optimal solution that minimizes energy by repeating a change in a value of one of a plurality of state variables included in an evaluation function representing the energy of an Eschen model indicating a combinatorial optimization problem, based on a change amount of the energy when the value changes; and
a transition allowable range determining unit that determines at least one of limits selected from upper and lower limits of a second identification number of a second state variable that is allowed to change from a second value in a second state variable group of the plurality of state variable groups, based on a first identification number of the first state variable having the first value in the first state variable group of the plurality of state variable groups included in the plurality of state variables, and in each of the plurality of state variable groups, one of the state variables has the first value and the other state variables have the second value.
2. The optimization device of claim 1,
the search unit includes an energy variation amount calculation unit that calculates a variation amount of the energy, an
The energy change amount calculation unit outputs a certain positive value as the change amount when state variables other than the second state variable allowed to change from the second value in the second state variable group change from the second value.
3. The optimization device of claim 1,
when the combinatorial optimization problem is a path problem of a plurality of nodes, the number of the plurality of state variables is a square of a value obtained by adding a value one less than the number of the plurality of transportation vehicles to the number of the plurality of nodes other than the departure point.
4. The optimization device of claim 3,
the number of the plurality of state variable groups is one less than the number of the transport vehicles, and each of the plurality of state variable groups includes the following state variables: the number of the state variables is the same as the number of the plurality of nodes and the state variables represent whether any of the transportation vehicles, the number of which is one less than the number of the transportation vehicles, has returned to the departure point at a time.
5. The optimization device of claim 4,
the conversion allowable range determination unit determines at least one of the limits selected from the upper limit and the lower limit such that, of the transport vehicles whose number is one less than the number of the transport vehicles, a second transport vehicle that accesses the node at a time before a first transport vehicle accesses any of the plurality of nodes returns to the departure point at a time before the first transport vehicle returns to the departure point.
6. The optimization device of claim 5,
the conversion allowable range determination unit determines at least one of limits selected from an upper limit and a lower limit so that the first transportation vehicle does not return to the departure point at a time immediately after a time at which the second transportation vehicle returns to the departure point.
7. An optimization method for a computer-implemented process, the process comprising:
searching for an optimal solution that minimizes energy by repeating a change in a value of one of a plurality of state variables included in an evaluation function representing the energy of an Esino model indicating a combinatorial optimization problem, based on a variation amount of the energy when the value changes; and
at least one of limits selected from upper and lower limits of a second identification number of a second state variable that is allowed to change from a second value in a second state variable group of a plurality of state variable groups included in the plurality of state variables is determined based on a first identification number of the first state variable having the first value in the first state variable group of the plurality of state variable groups, and in each of the plurality of state variable groups, one of the state variables has the first value and the other state variables has the second value.
8. The optimization method of claim 7, wherein the processing further comprises:
calculating the variation of the energy; and
when state variables other than the second state variable allowed to change from the second value in the second state variable group change from the second value, a certain positive value is output as the amount of change.
9. The optimization method of claim 7,
when the combinatorial optimization problem is a path problem of a plurality of nodes, the number of the plurality of state variables is a square of a value obtained by adding a value one less than the number of the plurality of transportation vehicles to the number of the plurality of nodes other than the departure point.
10. The optimization method of claim 9,
the number of the plurality of state variable groups is one less than the number of the transport vehicles, and each of the plurality of state variable groups includes the following state variables: the number of the state variables is the same as the number of the plurality of nodes and the state variables represent whether any of the transportation vehicles, the number of which is one less than the number of the transportation vehicles, has returned to the departure point at a time.
11. The optimization method of claim 10, wherein the processing further comprises:
determining at least one of the limits selected from the upper limit and the lower limit such that, of the transportation vehicles less in number by one than the number of the transportation vehicles, a second transportation vehicle visiting the node at a time before a first transportation vehicle visits any of the plurality of nodes returns to the departure point at a time before the first transportation vehicle returns to the departure point.
12. The optimization method of claim 11, wherein the processing further comprises:
determining at least one of the limits selected from the upper limit and the lower limit such that the first transportation vehicle does not return to the departure point at a time immediately after a time when the second transportation vehicle returns to the departure point.
CN202111306343.7A 2020-12-01 2021-11-05 Optimization device and optimization method Pending CN114580644A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2020199761A JP2022087691A (en) 2020-12-01 2020-12-01 Optimization apparatus and optimization method
JP2020-199761 2020-12-01

Publications (1)

Publication Number Publication Date
CN114580644A true CN114580644A (en) 2022-06-03

Family

ID=78592419

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111306343.7A Pending CN114580644A (en) 2020-12-01 2021-11-05 Optimization device and optimization method

Country Status (4)

Country Link
US (1) US20220171447A1 (en)
EP (1) EP4009242A1 (en)
JP (1) JP2022087691A (en)
CN (1) CN114580644A (en)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003114132A (en) 2001-10-03 2003-04-18 Yamaha Motor Co Ltd Method and apparatus for searching for driving route using quantum calculation, driving route search program and record medium recording the program
JP2003285930A (en) 2002-03-28 2003-10-07 Hitachi Software Eng Co Ltd Transportation schedule making method and its system
JP7137064B2 (en) * 2018-10-19 2022-09-14 富士通株式会社 Optimization device and control method for optimization device

Also Published As

Publication number Publication date
EP4009242A1 (en) 2022-06-08
US20220171447A1 (en) 2022-06-02
JP2022087691A (en) 2022-06-13

Similar Documents

Publication Publication Date Title
Shahvari et al. Hybrid flow shop batching and scheduling with a bi-criteria objective
KR102173884B1 (en) System and method for determining loading order and location of Ro-ro ship
Roy et al. A novel memetic genetic algorithm for solving traveling salesman problem based on multi-parent crossover technique
Abreu et al. A new efficient biased random key genetic algorithm for open shop scheduling with routing by capacitated single vehicle and makespan minimization
CN114237222B (en) Delivery vehicle path planning method based on reinforcement learning
Papadaki et al. Exploiting structure in adaptive dynamic programming algorithms for a stochastic batch service problem
Mollanoori et al. Extending the solid step fixed-charge transportation problem to consider two-stage networks and multi-item shipments
CN105929690A (en) Flexible workshop robustness scheduling method based on decomposition multi-target evolution algorithm
CN113537580B (en) Public transportation passenger flow prediction method and system based on self-adaptive graph learning
CN110276488A (en) A kind of vehicle routing optimization method based on matrix in block form and fuzzy haulage time
Shen et al. An uncertain two-echelon fixed charge transportation problem
Dong et al. ITÖ algorithm with local search for large scale multiple balanced traveling salesmen problem
CN116151499A (en) Intelligent multi-mode intermodal route planning method based on improved simulated annealing algorithm
Liu et al. Physical Internet-enabled E-grocery delivery Network: A load-dependent two-echelon vehicle routing problem with mixed vehicles
Zhang et al. Novel model‐free optimal active vibration control strategy based on deep reinforcement learning
Van Ekeris et al. Discovering heuristics and metaheuristics for job shop scheduling from scratch via deep reinforcement learning
Singh et al. Hybrid particle swarm optimization for pure integer linear solid transportation problem
CN114580644A (en) Optimization device and optimization method
Rahmi et al. Genetic algorithms for optimization of multi-level product distribution
WO2021044516A1 (en) Calculation device, calculation method, and non-transitory computer-readable medium storing program
Singh et al. A two-warehouse model for deteriorating items with holding cost under inflation and soft computing techniques
CN112182819A (en) Structure topology optimization method and system based on weighted graph and readable storage medium
Li et al. Congestion-aware path coordination game with markov decision process dynamics
CN115409448A (en) Storage scheduling decision method and device, terminal equipment and storage medium
ElWakil et al. On the integration of the parallel stack loading problem with the block relocation problem

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination