Solution exploration system, solution exploration method, and program product
By using the non-uniform amoeba SAT solution, non-uniform data is generated using bias probability and critical value, which solves the computational complexity of large-scale SAT problems and realizes fast and efficient optimal solution exploration, applicable to various real-world scheduling problems.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- AMOEBA ENERGY CO LTD
- Filing Date
- 2021-10-18
- Publication Date
- 2026-07-07
AI Technical Summary
Existing technologies, when dealing with large-scale SAT problems, result in algorithmic complexity and excessive computational and time requirements, making it difficult to effectively solve diverse and massive real-world social combination optimization problems.
The non-uniform amoeba SAT solution method is adopted. Through output adjustment unit, data generation unit, data conversion unit and feedback control unit, non-uniform data is generated by using deviation probability and critical value to explore the optimal solution.
Without complicating the algorithm, the same circuit can be used to quickly and efficiently solve different instances of the SAT problem, making it suitable for various real-world scheduling problems.
Smart Images

Figure CN116457803B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to a solution exploration system, method, and program for rapidly and efficiently exploring optimal solutions to various scheduling or combinations of problems by drawing inspiration from biological changes and utilizing probabilistic actions arising from changes in "devices." In particular, it relates to a solution exploration system utilizing non-uniform changes, a solution exploration method using this solution exploration system, and a solution exploration program implementing this solution exploration method via a computer system. Background Technology
[0002] In scheduling and similar processes, the Boolean Satisfiability Problem (SAT) is known for its ability to explore combinations of truth values of variables that make a given propositional logical expression "true," as it seeks solutions that satisfy given constraints. Prior techniques for addressing relational SAT problems have been proposed, including SAT solution programs and obstacle diagnosis programs (see Patent Document 1, etc.). Solution exploration systems for solving SAT problems are extremely important in the future information society, but as the problem size increases, the number of candidate solutions grows exponentially relative to the problem size. Because the SAT problem possesses extremely high computational complexity, a significant amount of computational resources or time is required as the problem size increases.
[0003] The invention described in Patent Document 1 does not propose a method for more quickly and efficiently exploring solutions to given SAT problems. In the current pursuit of increasing information volume, the need for quickly and efficiently obtaining solutions to SAT problems from large amounts of information will become a societal demand. Therefore, a solution exploration system for quickly and efficiently solving SAT problems is proposed (see Patent Document 2).
[0004] However, the invention described in Patent Document 2 provides a solution exploration method that assigns the same type of variation to two types of data through internal construction when solving the SAT problem, without considering various combinatorial optimization problems that arise in real society, including diverse and large-scale request specifications. For example, consider the conveying system of automated conveyor carts in a logistics warehouse, which faces a "scheduling problem" of efficiently transporting carts while dealing with complex cart transport requests such as hundreds of carts being updated constantly. The solution exploration method described in Patent Document 2, which assigns the same type of variation to two types of data through internal construction, becomes computationally complex when dealing with the scheduling problem of hundreds of conveyor carts, requiring circuit modifications for each change in problem instance. Therefore, the invention described in Patent Document 2, which assigns the same variation to two types of data through internal construction, is unsuitable as an example of solving diverse combinatorial optimization problems in real society. The term "aninstance" refers to setting specific values for all parameters of the problem.
[0005] Existing technical documents
[0006] Patent documents
[0007] Patent Document 1: Japanese Patent Application Publication No. 2012-003733
[0008] Patent Document 2: Japanese Patent No. 6011928 Summary of the Invention
[0009] The technical problem that the invention aims to solve
[0010] This invention was developed in view of the above-mentioned problems. Its purpose is to provide a solution exploration system that does not complicate the algorithm when various real-world scheduling problems are used as SAT problems, and that can use the same circuit to solve SAT problems quickly and efficiently for different instances. It also includes a solution exploration method using this solution exploration system and a solution exploration program that implements the solution exploration method through a computer system.
[0011] Solutions to technical problems
[0012] To achieve the above objectives, the first aspect of the present invention is essentially a solution exploration system comprising the following elements.
[0013] (a) An output adjustment unit having: N signal adjustment circuits that set N to a positive integer greater than or equal to 2 and output N signals by converting the temporarily determined output adjustment signals into formally determined output adjustment signals respectively;
[0014] (b) 2N data generation units, configured separately for a group of signal conditioning circuits, generate binary data to receive a set of output conditioning signals that are formally determined;
[0015] (c) 2N data conversion units read the data generated by the data generation units and convert it into information;
[0016] (d) A variable setting unit supplies independent deviation probabilities to each of the signal conditioning circuits, independent variation probabilities to each of the data generation units, and independent threshold values to each of the data conversion units, setting the occurrence frequency of the data generated by the data generation units to be non-uniform, so that the occurrence frequency of a specific variable becomes a value different from the occurrence frequency of other variables; and
[0017] (e) The feedback control unit determines whether the optimal solution has been obtained based on the information converted by the data conversion unit and the pre-input exploration problem information. When the optimal solution has not been obtained, the control repeats the operation of the output adjustment unit by outputting the formally determined output adjustment signal.
[0018] According to the solution exploration system of the first aspect of the present invention, the signal adjustment circuit uses the deviation probability to convert the temporarily determined output adjustment signal into the formally determined output adjustment signal, the data generation unit uses the formally determined output adjustment signal and the variation probability to generate data, the data conversion unit uses the data and the critical value to generate information, and obtains the optimal solution of the SAT problem expressed in multiple meaning forms of constraints and the logical AND of the constraints from the information.
[0019] The second aspect of the present invention is summarized by a solution exploration method including the following steps.
[0020] (a) The step of independently supplying information on the probability of change from external input to each of the multiple data generation units;
[0021] (b) The step of independently supplying information on the deviation probability from the external input to each of the multiple signal conditioning circuits configured corresponding to each of the multiple data generation units;
[0022] (c) The step of independently supplying information about externally input threshold values to each of the multiple data conversion units;
[0023] (d) The step of inputting multiple temporarily determined output adjustment signals to multiple signal adjustment circuits respectively;
[0024] (e) Using the deviation probability, each of the multiple signal adjustment circuits converts the multiple temporarily determined output adjustment signals input to the circuit into the value of the officially determined output adjustment signal, and inputs the officially determined output adjustment signal to each of the multiple data generation units.
[0025] (f) The step of generating non-uniform data by each of the multiple data generation units from the output adjustment signal of the variation probability and the formal determination, and setting the occurrence frequency of a specific variable output by the multiple data generation units to a value different from the occurrence frequency of other variables.
[0026] (g) The step of having multiple data conversion units of the same number as multiple data generation units read the data generated by the multiple data generation units and convert it into information;
[0027] (h) Based on the information converted by multiple data conversion units and the pre-input exploration problem information, determine whether the optimal solution has been obtained. If the optimal solution has not been obtained, control repeats the process of sending the formally determined output adjustment signal to each of the multiple data generation units.
[0028] According to the solution exploration method of the second aspect of the present invention, the optimal solution to the SAT problem can be obtained by expressing multiple restrictive conditions and the logical AND of the restrictive conditions.
[0029] A computer for implementing the solution exploration method described in the second aspect of the present invention software The program is stored on a computer-readable recording medium, and can be executed by the computer system as long as this recording medium is read into the computer system described in the first aspect.
[0030] That is, the third aspect of the present invention is to execute a computer-based decoding program by means of a series of commands including the following commands.
[0031] (a) In the change setting unit, an instruction is given to independently supply change probability information input from the outside to each of the multiple data generation units.
[0032] (b) In the variable setting unit, commands are given to independently supply information on the deviation probability input from the outside to each of the multiple signal adjustment circuits configured corresponding to each of the multiple data generation units.
[0033] (c) In the variable setting unit, an instruction is given to independently supply the information of the threshold value input from the outside to each of the multiple data conversion units;
[0034] (d) In the output adjustment unit, commands are given to input multiple temporarily determined output adjustment signals to multiple signal adjustment circuits respectively;
[0035] (e) In each of the multiple signal adjustment circuits, the input multiple temporarily determined output adjustment signals are converted using the deviation probability to become the value of the officially determined output adjustment signal, and the officially determined output adjustment signal is input to each of the multiple data generation units.
[0036] (f) In each of the multiple data generation units, non-uniform data is generated by adjusting the output signal from the variation probability and the formal decision, so that the frequency of occurrence of a specific variable becomes a value different from the frequency of occurrence of other variables, and commands are output from each of the multiple data generation units.
[0037] (g) For multiple data conversion units that are the same number as multiple data generation units, a command is given to read the data generated by the multiple data generation units respectively and to convert the read data into information.
[0038] (h) For the feedback control unit, it determines whether an optimal solution has been obtained based on the information converted by multiple data conversion units and the pre-input exploration problem information. When an optimal solution has not been obtained, it sends a control command to perform the action of repeatedly sending the output adjustment signal of the formal decision to each of the multiple data generation units.
[0039] According to the solution exploration procedure of the third aspect of the present invention, the optimal solution to the SAT problem can be obtained by expressing multiple constraints and the logical AND of the constraints.
[0040] As the recording medium for recording the solution exploration program of the third aspect of the present invention, various recording media capable of recording programs, such as computer external storage devices, semiconductor storage devices, magnetic disks, optical disks, optical magnetic disks, magnetic tapes, etc., can be used.
[0041] The effects of the invention
[0042] According to the present invention, a solution exploration system can be provided that does not complicate the algorithm when various real-world scheduling problems are formalized as SAT problems, and can solve SAT problems quickly and efficiently using the same circuit for different instances; a solution exploration method using this solution exploration system can be provided; and a solution exploration program can be provided to implement the solution exploration method through a computer system. Attached Figure Description
[0043] Figure 1 This is a diagram showing the overall picture of the combinatorial optimization problem according to the first embodiment of the present invention.
[0044] Figure 2 This is a diagram showing the overall configuration of the solution exploration system in the first embodiment.
[0045] Figure 3 This is a diagram illustrating the control of output data from the data generation unit based on the transmission of the output adjustment signal.
[0046] Figure 4 This is another diagram illustrating the control of output data from the data generation unit based on the transmission of the output adjustment signal.
[0047] Figure 5 This is a diagram representing examples of propositional logical expressions that make the logical AND of a Boolean expression 1 ("true").
[0048] Figure 6 (a) is a diagram representing other examples of propositional logic expressions. Figure 6 (b) is Figure 6 The propositional logic expression shown in (a) is an expression that describes the logical constraints expressed in terms of meaning.
[0049] Figure 7A This is a diagram illustrating an example of the movement paths of trolleys in a logistics warehouse when optimizing an automated conveyor system is considered as a combinatorial optimization problem. Figure 7B This is a diagram showing an example of a track that meets the delivery request.
[0050] Figure 8A This is a graph representing an example of a highly optimal solution (orbit) obtained when using the non-uniform SAT problem algorithm of the first embodiment. Figure 8B This is a diagram representing examples of solutions (orbits) with low optimality obtained when using previous algorithms.
[0051] Figure 9 This diagram illustrates the allocation of values for variables in the solution exploration system of the first embodiment, which is represented by two data conversion units.
[0052] Figure 10 The diagram illustrates the technology of assigning the same two types of variations based on the spatial correlation described in Patent Document 2 for the purpose of comparison.
[0053] Figure 11 This is a diagram showing an example of the circuit of an electronic amoeba, which is one of the specific configuration examples of the solution exploration system in the first embodiment.
[0054] Figure 12 (a) is a diagram of other examples of propositional logic expressions. Figure 12 (b) is Figure 12 The propositional logical expression shown in (a) is an example of logical AND expressed by limiting the meaning of the expression, but... Figure 6 The expression shown in (b) is a partial expression with some parts omitted.
[0055] Figure 13 This is a diagram illustrating how changing program variables can resolve various problems within the same circuit.
[0056] Figure 14 This is a diagram representing an instance where program variables are fixed.
[0057] Figure 15 (a) is an explanation Figure 5 The diagram shown illustrates the "INTRA rule" of propositional logic. Figure 15 (b) is an explanation Figure 5 The diagram shown illustrates the "INTER rule" of propositional logic. Figure 15 (c) is an explanation Figure 5 The diagram shows the "CONTRA rule" of propositional logic.
[0058] Figure 16 This is a flowchart illustrating the process of the solution exploration method and solution exploration procedure in the first embodiment.
[0059] Figure 17 This diagram illustrates the allocation of values for variables in a given context, using two data transformation units to represent the CONTRA rule.
[0060] Figure 18 This diagram illustrates an example of a conventional electronic amoeba circuit configuration necessary for the application of the CONTRA rule.
[0061] Figure 19 This is a diagram showing the overall configuration of the hybrid optimal solution calculation system according to the second embodiment of the present invention.
[0062] Figure 20 This is a diagram showing the constituent elements installed in the control unit of the hybrid optimal solution calculation system in the second embodiment.
[0063] Figure 21 This is a flowchart illustrating the processing flow of the optimal solution calculation procedure for implementing the mixed-type optimal solution calculation method or the optimal solution calculation procedure of the mixed-type optimal solution calculation method in the second embodiment.
[0064] Figure 22 This diagram represents the possible combinations of the exploration system (solution method) used by the conflict resolution exploration operation circuit when exploring combinations of alternative tracks that can resolve conflicts (optimal solutions) and the exploration system (solution method) used by the track generation unit when generating new alternative tracks that replace k alternative tracks.
[0065] Figure 23 This indicates an application example of the hybrid optimal solution calculation method in the second implementation of the automated warehouse problem, where... Figure 21 The flowchart shown illustrates a specific example of how step S201 determines the initial trajectory.
[0066] Figure 24 This indicates an application example of the hybrid optimal solution calculation method in the second implementation of the automated warehouse problem, where... Figure 21 The flowchart shown in step S202 illustrates specific examples of initial track conflicts.
[0067] Figure 25 This indicates an application example of the hybrid optimal solution calculation method in the second implementation of the automated warehouse problem, where... Figure 21 The flowchart shown illustrates a specific example of step S203 in generating k alternative orbitals.
[0068] Figure 26 This indicates an application example of the hybrid optimal solution calculation method in the second implementation of the automated warehouse problem, where... Figure 21 The flowchart shown in step S204 is a diagram that tabulates specific examples of the presence or absence of conflict in all pairs of alternative tracks.
[0069] Figure 27 This indicates an application example of the hybrid optimal solution calculation method in the second implementation of the automated warehouse problem, where... Figure 21 The flowchart shown illustrates a specific example of step S205, which explores to obtain a combination (solution) of non-conflicting alternative tracks. Detailed Implementation
[0070] For ease of explanation, the first and second embodiments are given as examples, and will be described with reference to the drawings. In the following drawings, the same or similar parts are marked with the same or similar symbols. However, the drawings are exemplary, and it should be noted that the relationship between thickness and planar dimensions, the ratio of the sizes of each component, etc., differs from reality. Therefore, specific thicknesses, dimensions, sizes, etc., should be determined more variedly by referring to the main content of the technical concept that can be understood from the following description. Furthermore, the drawings naturally include parts with different dimensional relationships or ratios.
[0071] Furthermore, the first and second embodiments shown below are examples of methods and apparatuses used to embody the technical concept of the present invention. The technical concept of the present invention is not limited to the materials, shapes, structures, configurations, and procedures of the constituent parts. The technical concept of the present invention is not limited to the contents described in the first and second embodiments, and various modifications can be made within the technical scope defined by the claims described in the patent application.
[0072] (First Embodiment)
[0073] The so-called "social scheduling optimization problem" addressed in the first embodiment of the present invention is a subject for which the optimal solution can be obtained through the present invention, thus addressing various scheduling optimization problems arising in general society. For example... Figure 1 As shown in the upper section, examples include optimizing a logistics warehouse conveyor system and optimizing a work schedule. The term "optimizing a logistics warehouse conveyor system" means obtaining, for example, the optimization described later... Figure 7BAs explained above, the optimal solution is the schedule that maximizes efficiency when multiple automated guided vehicles carrying goods move along a common route within a logistics warehouse. Figure 7B Taking the "scheduling problem" of two trolleys as an example, the actual trolley conveyor system in a logistics warehouse involves dozens to hundreds of trolleys that need to efficiently deliver goods while responding to constantly updated delivery requests, resulting in extremely complex and massive calculations. Furthermore, Figure 7B For example, the optimization of conveyor systems is not limited to "logistics warehouses"; the same applies to the optimization of conveyor systems in food factories, electronics factories, automobile factories, and other similar locations.
[0074] same, Figure 1 The example of "schedule optimization" given in the upper paragraph means that in organizations such as enterprises, when space resources such as desks, meeting rooms, and equipment are limited, or time resources such as start and end times of duties are limited, the most efficient use of these resources is to schedule the work locations or times that maximize employee productivity. Figure 1 Although no examples are given, real-time routing in actual wireless communication networks, delivery plans based on autonomous vehicles, object movement planning based on robotic arms, and distributed P2P (peer-to-peer) communication are all examples of this. Serve Optimizing the scheduling of energy transactions, etc., is also a "social scheduling optimization problem" in the first implementation. Thus, the solution exploration system of the first implementation is aimed at... Figure 1 The social scheduling optimization problems (hereinafter referred to as "optimization problems") of various topics other than those illustrated in the examples are used as combinatorial optimization problems for solution. Furthermore, as... Figure 1 The “CL-Amoeba SAT solution” as described in the present invention, which is outside the scope of application of the present invention, is a circuit-level amoeba SAT solution algorithm that simplifies the amoeba SAT solution by imagining a digital circuit setup, as disclosed in International Publication No. 2019 / 017412.
[0075] The "combinatorial optimization problem" in the first implementation method refers to the propositional logic formula (formula) used to solve the optimization problem, corresponding to the Satisfaction Probability (SAT) problem, the Traveling Salesman Problem (TSP), etc. The "SAT problem" involves determining the propositional logic formula (Boolean expression) F given a certain propositional logic formula (Boolean variable) x1, x2, ..., x3, and then determining the appropriate formula for solving the optimization problem by considering the logical variables (Boolean variables) x1, x2, ..., x4.N The problem involves assigning the value of a propositional logic expression F to either True (1) or False (0), determining whether it is possible to make all values of the expression True (1) (which is permissible). The SAT problem is a well-known example of a combinatorial optimization problem (NP-complete) in computer science. An NP-complete problem is (a) a decision problem belonging to Class NP (Non-deterministic Polynomial-time) and (b) a problem that can be reduced to polynomial time from any Class NP problem. Algorithms for solving NP-complete problems, i.e., the SAT problem, in polynomial time are unknown. This is because the number of solution candidates for the SAT problem increases exponentially with respect to the problem size, leading to combinatorial explosion.
[0076] The Traveling Salesman Problem (TSP) is a problem that, given a weighted graph, seeks the shortest path (the one with the minimum total weight and cost) by traversing all vertices in a single trip through a closed path (Hamiltonian path). In other words, it seeks the path that minimizes the distance traveled by visiting all cities and returning in a single trip. The Traveling Salesman Problem is a well-known example of a combinatorial optimization problem (NP-hard) in computer science.
[0077] An "optimization algorithm" is a program that uses a fixed logical formula, typically used for combinatorial optimization problems, to find the optimal solution to the aforementioned social problems. The solution exploration system in the first implementation is based on the "Amoeba SAT method." The Amoeba SAT method is an optimization algorithm that utilizes the information processing principles of amoebas, organisms living in nature. It is an algorithm of a biological computer that learns from the behavior of single-celled amoebas adapting to their environment and transforming into optimal patterns, and uses electronic circuits that mimic single-celled amoebas to quickly solve complex combinatorial optimization problems such as the traveling salesman problem or the SAT problem. (The following text will use...) Figure 11 As described above, the "amoeba computer," which mimics the behavior of a single-celled amoeba, provides a method to obtain appropriate patterns more quickly and accurately than conventional von Neumann computers by utilizing the parallelism of current dynamics flowing through circuits or the probabilistic behavior resulting from device variations.
[0078] To maximize nutrient absorption, single-celled amoebas (organisms) typically extend as many legs as possible, but they must retract when exposed to light. One of the inventors discovered that updating the ON signal for light exposure according to the shape of the single-celled amoeba (the extension / retraction state of its legs) could... The OFF feedback rule, in the process of a single-celled amoeba continuously exploring and deforming by extending only the combination of legs that minimizes the risk of light exposure, can explore a near-optimal solution to the combinatorial optimization problem, the "traveling salesman problem." In this "amoeba computer," the freely changing multiple legs of the single-celled amoeba, or the hub (center) part of multiple legs, are based on the complex spatiotemporal vibration dynamics with high degrees of freedom generated by the multiple legs, memorizing the experience of light exposure, and generating appropriate "probability variations" in response to light stimuli, which has a similar effect to the "annealing" in quantum computers.
[0079] As an optimization algorithm, such as Figure 1 As shown, there are solutions other than the amoeba SAT method, but since this invention is based on the amoeba SAT method using biological models, descriptions of solutions other than the amoeba SAT method are omitted here. The present invention, as described later, refers to a situation where the frequency of occurrence of a specific variable is relatively high or low as having a "non-uniform" frequency, and the SAT optimization algorithm having such non-uniformity is called a "non-uniform SAT algorithm." Patent Document 2 discloses a conventional amoeba SAT solution, but for the solution exploration system of the first embodiment, an improved novel non-uniform amoeba SAT solution is provided as the optimization algorithm.
[0080] The so-called "hardware installation" in the first embodiment refers to the circuit used to implement the non-uniform SAT algorithm proposed in this paper. This includes analog circuits that implement the optimization algorithm described above, and digital circuits that implement the optimization algorithm digitally. The following description uses an example of an optimization problem as a standard SAT problem, further employs the non-uniform amoeba SAT solution as the optimization algorithm, and implements the optimization algorithm using analog or digital circuits to obtain the optimal solution.
[0081] In the description of the solution exploration system of the first embodiment, the so-called "SAT solution" means a variable assignment that satisfies all the constraints of the given propositional logic expression; a propositional logic expression is called an "instance". Since the original SAT does not have the concept of obtaining an "optimal solution" or a "solution with high optimality", a variable assignment that satisfies propositional logic is called a "SAT solution". Regarding the solution exploration system of the first embodiment, while conventional SAT introduces the concept of "optimality" and has its own uniqueness, there are generally instances with multiple SAT solutions and instances with no SAT solutions. Based on this situation, "optimal solution" and "solution with high optimality" are defined below. In the description of the solution exploration system of the first embodiment, the so-called "optimal solution" refers to the solution whose "optimality" is maximized from among the many "SAT solutions" by the number of user-specified variables with specific subscript values of 1 or 0. However, the "optimal solution" in a strict sense is difficult to obtain frequently. Therefore, the solution exploration system of the first embodiment aims to obtain both the optimal solution and the "solution with high optimality". Furthermore, the "solution with high optimality" is defined as the solution with "optimality" that is closer to the "optimal solution" among the many "SAT solutions". That is, in the following description of the solution exploration system of the first embodiment, the phrase "optimal solution" can also be read as "solution with high optimality".
[0082] (Solution exploration system of the first embodiment)
[0083] like Figure 2 As shown, the solution exploration system of the first embodiment of the present invention comprises:
[0084] The first data generation unit 11-1, the second data generation unit 11-2, ..., the i-th data generation unit 11-i generate binary data;
[0085] The data generated by the first data generation unit 11-1, the second data generation unit 11-2, ..., the i-th data generation unit 11-i are read and converted into information by the first data conversion unit 12-1, the second data conversion unit 12-2, ..., the i-th data conversion unit 12-i.
[0086] Output adjustment unit 14 adjusts the output of binary data by sending output adjustment signals (bounced back signals) to each of the first data generation unit 11-1, the second data generation unit 11-2, ..., the i-th data generation unit 11-i;
[0087] Based on the information converted by the first data conversion unit 12-1, the second data conversion unit 12-2, ..., the i-th data conversion unit 12-i and the pre-inputted exploration problem information, the feedback control unit 13 repeatedly controls whether to send an output adjustment signal, or send an output adjustment signal and the updated change probability value, to each of the first data generation unit 11-1, the second data generation unit 11-2, ..., the i-th data generation unit 11-i, thereby representing the optimal solution of the exploration problem information; and
[0088] Data Z with the probability of supply non-uniform variation. i,b The variation setting unit 16 causes the central processing unit (CPU) 1 (hereinafter referred to as "variable probability data Z") to generate non-uniform occurrence frequencies of data output from each of the first data generation unit 11-1, the second data generation unit 11-2, ..., the i-th data generation unit 11-i. i,b ”).
[0089] Here, "i" is the variable x. i The subscript, for example, sets N to a positive integer greater than 2. When there are N variables, i = 1 or any of N. "b" is the value of a binary data type, b = "0" or "1".
[0090] The output adjustment unit 14 of the solution exploration system in the first embodiment includes:
[0091] The first signal adjustment circuit 141 is connected to the first data generation unit 11-1 and the second data generation unit 11-2;
[0092] The second signal adjustment circuit 142 is connected to the third data generation unit 11-3 and the fourth data generation unit 11-4;
[0093] The third signal conditioning circuit 143 is connected to the fifth data generation unit 11-5 and the sixth data generation unit 11-6; and
[0094] The fourth signal adjustment circuit 144 is connected to the seventh data generation unit 11-7 and the eighth data generation unit 11-8.
[0095] Furthermore, the output adjustment unit 14 of the solution exploration system in the first embodiment includes a main output adjustment circuit 140 that supplies signals to the first signal adjustment circuit 141 and even the fourth signal adjustment circuit 144. If a signal is sent from the feedback control unit 13 to the main output adjustment circuit 140, the main output adjustment circuit 140 outputs two "temporarily determined" output adjustment signals L'. 1,0 and output adjustment signal L' 1,1 The two "temporarily determined" output adjustment signals L' will be input to the first signal adjustment circuit 141.2,0 and output adjustment signal L' 2,1 The two "temporarily determined" output adjustment signals L' will be input to the second signal adjustment circuit 142. 3,0 and output adjustment signal L' 3,1 The two "temporarily determined" output adjustment signals L' will be input to the third signal adjustment circuit 143. 4,0 and output adjustment signal L' 4,1 It will be input to the 4th signal adjustment circuit 144.
[0096] The first signal adjustment circuit 141 and even the fourth signal adjustment circuit 144 of the output adjustment unit 14 of the solution exploration system in the first embodiment are used as variables x i If the subscript i = 1 or 4, and the output adjustment signal L' i,0 With output adjustment signal L' i,1 All are 1 (L' i,0 =L' i,1 =1), then the deviation probability p i "Formal decision" output adjustment signal L i,0 =0 and output adjustment signal L i,1 =1, with a bias probability of 1-p i "Formal decision" output adjustment signal L i,0 =1 and output adjustment signal L i,1 =0. The first signal adjustment circuit 141 and even the fourth signal adjustment circuit 144 are if the output adjustment signal L' i,0 =L' i,1 =0 or output adjustment signal L' i,0 ≠L' i,1 Then the "official decision" outputs the adjustment signal L. i,0 =L' i,0 and output adjustment signal L i,1 =L' i,1 Bias probability p i It can also be based on the variable x i Each subscript i is assigned a different value independently (usually for the total variable x). i subscripts i, p i =0.5).
[0097] The variation setting unit 16 individually sets specific variation probabilities for specific variables, thereby increasing or decreasing the frequency of occurrence of those specific variables. In other words, the variation setting unit 16 sets the variation probability data Z... i,b Output to the first data generation unit 11-1, the second data generation unit 11-2, ..., the eighth data generation unit 11-8 (where "i" is the variable x) i subscript, Figure 9In the case where i = 1 or even 4, b is a binary value "0" or "1". Figure 9 The illustration is omitted, but it is from Figure 2 It can be seen that the first data generation unit 11-1 is the input variation probability data Z. 1,0 In the second data generation unit 11-2, the input variation probability data Z is... 1,1 Furthermore, in the third data generation unit 11-3, the input variation probability data Z is... 2,0 In the fourth data generation unit 11-4, the input variation probability data Z is... 2,1 ...And similarly, in the 7th data generation unit 11-7, the input variation probability data Z is... 4,0 In the 8th data generation unit 11-8, the input variation probability data Z is... 4,1 .
[0098] As a result, the first data generation unit 11-1 generates data from the input L. 1,0 With the probability of change data Z 1,0 Determine the two-valued data S i,0 ="0" or "1" and output. Similarly, the second data generation unit 11-2 is from the input L 1,1 With the probability of change data Z 1,1 Determine the two-valued data S 1,1 ="0" or "1" and output. Further, the third data generation unit 11-3 generates data from the input L... 2,0 With the probability of change data Z 2,0 Determine the two-valued data S 2,0 ="0" or "1" and output. ……. The 8th data generation unit 11-8 is from the input L 4,1 With the probability of change data Z 4,1 Determine the two-valued data S 4,1 = "0" or "1" and output.
[0099] Figure 2 The first group (first serial connection group) formed by the serial connection of the first data generation unit 11-1 and the first data conversion unit 12-1, the second group (second serial connection group) formed by the serial connection of the second data generation unit 11-2 and the second data conversion unit 12-2, ..., and the i-th group (i-th serial connection group) formed by the serial connection of the i-th data generation unit 11-i and the i-th data conversion unit 12-i are each an amoeboid leg that can functionally correspond to one of the amoeboid computers. For example Figure 9 As shown, if i=8, then each of the 8-series concatenation groups can functionally correspond to Figure 11The example illustrates one of the eight pseudo-foot units that each has a series circuit of a resistor and a diode. Figure 11 The amoeba core 101 shown is a structure in which eight pseudopodia units are arranged radially, corresponding to the structure of a single-celled amoeba with eight legs, but... Figure 2 The structure shown is a structure that corresponds to a more general single-celled amoeba with i legs.
[0100] like Figure 11 As shown, the output terminal X of the two legs of the single-celled amoeba, which is responsible for determining the value of variable x1, is... 1,0 With output terminal X 1,1 The input terminals of a 2-input NOR gate 301 are connected between the pairs of inputs. Similarly, the output terminal X, which determines the value of variable x2, is connected to the output terminal. 2,0 With output terminal X 2,1 Between a pair, at the output terminal X which determines the value of variable x3. 3,0 With output terminal X 3,4 Between a pair, at the output terminal X which determines the value of variable x4. 4,0 With output terminal X 4,1 Each pair is also connected to the input terminals of two-input NOR gates 302, 303, and 304, respectively. If variable x is used... i The subscript "i" is used to record Figure 11 The output terminal of the amoeba core 101 shown is then used to become X by using 2-input NOR gates 301, 302, 303, 304. i,0 =X i,1 When the value is 0, the circuit can be forcibly destabilized, which can promote the direction of X. i,0 =1 or X i,1 The probabilistic transition of any state with =1 does not require the application of the CONTRA rule. Figure 11 The eight pseudopodia shown are electrically retracted and the output voltage decreased when an inhibition signal, called the output adjustment signal (rebound signal), is applied; otherwise, they are electrically elongated and the output voltage increased. However, similar to the single-celled amoeba of organisms, when the output voltage increases while the electrical elongation occurs, the "variable action" of not elongating also occurs with a certain variable probability. In the case of the solution exploration system of the first embodiment, the "variable probability" of each unit mimicking the action of this single-celled amoeba is updated step by step according to rules that are non-uniformly set from the outside or specified by the user.
[0101] The first data conversion unit 12-1, the second data conversion unit 12-2, ..., the i-th data conversion unit 12-i each read the data output from the first data generation unit 11-1, the second data generation unit 11-2, ..., the i-th data generation unit 11-i, and convert it into information. When the first data conversion unit 12-1, the second data conversion unit 12-2, ..., the i-th data conversion unit 12-i outputs, for example, "1" as digital data, it obtains this value and outputs the value obtained by adding "+1" to the value in the current step as information for that step.
[0102] Furthermore, each of the first data conversion unit 12-1, the second data conversion unit 12-2, ..., the i-th data conversion unit 12-i reads the value when, for example, the first data generation unit 11-1, the second data generation unit 11-2, ..., the i-th data generation unit 11-i outputs "0" as digital data, and outputs the value after adding "-1" to the value in the current step as information for this step. Figure 11 The eight pseudopodia units of the amoeba core 101 shown can output {-1, 0, 1} representing the extension and contraction state of the legs of a single-celled amoeba. Therefore, the outputs of the corresponding eight pseudopodia units, as well as the {-1, 0, 1} information output by the first data conversion unit 12-1, the second data conversion unit 12-2, ..., the i-th data conversion unit 12-i, can be obtained from the information output by the first data generation unit 11-1, the second data generation unit 11-2, ..., the i-th data generation unit 11-i, respectively.
[0103] However, the values obtained by each of the first data conversion unit 12-1, the second data conversion unit 12-2, ..., the i-th data conversion unit 12-i can also be restricted to their maximum value of X. max The minimum value is -X min In this case, the values obtained by the first data conversion unit 12-1, the second data conversion unit 12-2, ..., the i-th data conversion unit 12-i are all -X. min ... -1, 0, +1, ... +X max (X min and X max This can be any of the values (which can take any value). This indicates that the output of the i pseudofoot units can take multiple types (multi-stage) values.
[0104] Represented by 3 values {-1, 0, 1} Figure 11The example shown is a simple illustration of the leg extension and contraction state of a single-celled amoeba, but the solution exploration system of the first embodiment is not limited to 3 values. The extension and contraction state can also be represented by 5 values {-2, -1, 0, 1, 2}, generally designed by setting K to a positive odd number. To take 5 types of values, for example, if considering -X... min -2, +X max In the case of +2, when the current step value of each of the first data conversion unit 12-1, the second data conversion unit 12-2, ..., the i-th data conversion unit 12-i is +2, the output value of +1 is output in the next step regardless of the output data value from each of the first data generation unit 11-1, the second data generation unit 11-2, ..., the i-th data generation unit 11-i. When the current step value of each of the first data conversion unit 12-1, the second data conversion unit 12-2, ..., the i-th data conversion unit 12-i is -2, the output value of -1 is output in the next step regardless of the output data value from each of the first data generation unit 11-1, the second data generation unit 11-2, ..., the i-th data generation unit 11-i. Furthermore, the information output from each of the first data conversion unit 12-1, the second data conversion unit 12-2, ..., the i-th data conversion unit 12-i is not limited to the aforementioned ones. It can be any data from each of the first data generation unit 11-1, the second data generation unit 11-2, ..., the i-th data generation unit 11-i, and can be used to make the contraction and extension of the legs of the single-celled amoeba, thus utilizing the variation of the contraction and extension of the legs of the single-celled amoeba.
[0105] like Figure 2 As shown, the solution exploration system of the first embodiment is similar to a conventional von Neumann computer system, including an input device 21, a display device 23, an output device 24, a data storage device 22, and a program storage device 25. The probability of variation is that the user of the solution exploration system of the first embodiment will... Figure 2 The input device 21 shown is used to set the system from external input, thereby allowing the setting unit 16 to independently assign arbitrary change probability values to each of the first data generation unit 11-1, the second data generation unit 11-2, ..., the i-th data generation unit 11-i. Furthermore, an example of an optimization problem can be input via the input device 21 as multiple semantic constraints and the logical AND of these constraints. A "semantic form" is the "if" form in semantic logic. That is, when A is the premise and B is the conclusion, the conditional text "if A then B" is a semantic form. The SAT problem can be represented by multiple semantic constraints input via the input device 21 and the logical AND of these constraints. The exploration problem information, formalized as a SAT problem, can be stored in the data storage device 22.
[0106] The feedback control unit 13 of the solution exploration system in the first embodiment determines whether the optimal solution to the SAT problem has been obtained based on the information converted by the first data conversion unit 12-1, the second data conversion unit 12-2, ..., the i-th data conversion unit 12-i and the exploration problem information stored in the data storage device 22. When it is determined that the optimal solution has not been obtained, the feedback control unit 13 repeatedly sends output adjustment signals (bounce signals) to each of the first data generation unit 11-1, the second data generation unit 11-2, ..., the i-th data generation unit 11-i via the first signal adjustment circuit 141, the second signal adjustment circuit 142, the third signal adjustment circuit 143, and the fourth signal adjustment circuit 144 of the output adjustment unit 14 until the optimal solution can be obtained. When multiple SAT solutions can be obtained from the exploration problem information, the solution is the one in which the frequency of occurrence of a specific variable in each SAT solution is relatively more or less than the frequency of occurrence of other variables, and is displayed via the display device 23 or the output device 24.
[0107] Furthermore, the operations of the first data generation unit 11-1, the second data generation unit 11-2, ..., the i-th data generation unit 11-i, the first data conversion unit 12-1, the second data conversion unit 12-2, ..., the i-th data conversion unit 12-i, the feedback control unit 13, the output adjustment unit 14, and the variable setting unit 16 are controlled by the control unit 17 via a bus (not shown in the diagram). That is... Figure 2 Although the diagram illustrating the command transmission path is omitted, there is actually a command transmission path from control unit 17 to the first data generation unit 11-1, the second data generation unit 11-2, ..., the i-th data generation unit 11-i, the first data conversion unit 12-1, the second data conversion unit 12-2, ..., the i-th data conversion unit 12-i, the feedback control unit 13, the output adjustment unit 14, and the change setting unit 16. Similarly, Figure 2 The diagram showing the command transmission path is omitted, but the information actually input via input device 21 is stored in data storage device 22 via the bus. The information stored in data storage device 22 can be read from the change setting unit 16 or feedback control unit 13 via the bus.
[0108] Also, such as Figure 2 As shown, the central processing unit 1 also includes a control unit 17. Although Figure 2The diagram of the sequential circuit is omitted, but the actual control unit 17 outputs commands to sequentially control the operation of the data generation unit 11, data conversion unit 12, feedback control unit 13, output adjustment unit 14, and variable setting unit 16 according to the time sequence output from the sequential circuit and following the program commanded by the decryption program of the first embodiment stored in the program storage device 25. The program storage device 25 stores commands for the operation of the data generation unit 11, data conversion unit 12, feedback control unit 13, output adjustment unit 14, and variable setting unit 16, as described later. Figure 16 The algorithm shown is a representative solution exploration program. The constituent elements of the first data generation unit 11-1, the second data generation unit 11-2, ..., the i-th data generation unit 11-i, the first data conversion unit 12-1, the second data conversion unit 12-2, ..., the i-th data conversion unit 12-i, the feedback control unit 13, the output adjustment unit 14, and the variable setting unit 16 are not limited to... Figure 11 The amoeba computer exemplified here can also be embodied in any existing circuit or device, apparatus, etc., that performs such functions.
[0109] (An overview of the solution exploration method in the first embodiment)
[0110] like Figure 16 As shown in the flowchart, regarding the solution exploration method of the first embodiment, firstly in step S101, the user of the solution exploration system of the first embodiment is via... Figure 2 The input device 21 shown is used to input an instance of the optimization problem as multiple constraints of various meanings. The input constraints are logically ANDed to form a SAT problem, which is used as exploration problem information and stored in the data storage device 22. Further, in step S102, the user will individually input multiple possible variation probabilities ε for each variable via the input device 21. i,b The probability of change of the input ε i,b Stored in data storage device 22 (“i” is variable x) i The subscript "b" indicates the value of a binary data type, where b = "0" or "1".
[0111] Regarding the solution exploration method of the first embodiment, for example, for a specific variable x j The set, by relatively increasing or decreasing the number of states x j The frequency of occurrence of 1 can be set by the user via input device 21 from outside the solution exploration system of the first embodiment, with a variation probability ε. i,b This allows for the high-speed and high-probability acquisition of the optimal solution. The desired outcome is to obtain the solution with a high probability of becoming x. j The number of variables equal to 1 will be greater than the number of remaining variables x. i When the number of solutions equal to 1 is minimized, the change probability ε can also be reduced.j,1 Let it be the ratio ε j,0、 ε i,0、 ε i,1 Large, that is, using "j" as a specific variable x j The subscripts are used to form Equation (1), and the user inputs the information from outside the exploration system of the first embodiment via the input device 21.
[0112] ε j,1 >ε j,0 =ε i,0 =ε i,1 ……(1)
[0113] Regarding the solution exploration method in the first embodiment, the variation probability ε is set externally. i,b , such a specific variable x j The frequency of occurrence of 1 increases or decreases relatively, resulting in non-uniformity in the frequency of occurrence. SAT optimization algorithms with such non-uniformity are called "non-uniform SAT algorithms".
[0114] Each probability of change ε i,b The value can also be updated at each step according to user-specified rules. The probability of change of the amoeba leg (i,b) at step t is set to ε. i,b (t), and set the value of the data conversion unit of the amoeba foot (j,c) in step t to X. j,c (t), as an example. In this case, the user-specified activation function f, as shown in equation (2), can also be used to update the variation probability ε of each amoeba leg in the next step t+1. i,b The value of (t+1),
[0115] ε i,b (t+1)=f(Σ j,c w i,b,j,c X j,c (t)) ……(2)
[0116] The activation function f in equation (2) is the value X of the full data conversion unit. j,c The vector of (t), the user-specified weighted rows and columns w i,b,j,c The product and sum operation function. If the weighted columns w are appropriately set according to the objective function of the optimization problem instance. i,b,j,c Given the activation function f, the probability of change ε i,b The value is dynamically updated at each step, which can lead to a more optimal solution.
[0117] Then, in step S103, the variation setting unit 16 considers the exploration problem information stored in the data storage device 22 to read out the multiple variation probabilities ε stored in the data storage device 22.i,b The set. Regarding step S103, for each of the first data generation unit 11-1, the second data generation unit 11-2, ..., the i-th data generation unit 11-i, multiple variation probabilities ε containing different variation probabilities are individually supplied. i,b Then, in step S104, each of the first data generation unit 11-1, the second data generation unit 11-2, ..., the i-th data generation unit 11-i generates non-uniform data based on independent and different variation probabilities. Each of the first data generation unit 11-1, the second data generation unit 11-2, ..., the i-th data generation unit 11-i sets the frequency of occurrence of a specific variable to a value different from the frequencies of occurrence of other variables. Further, in step S105, the same number of first data conversion units 12-1, second data conversion units 12-2, ..., the i-th data generation unit 11-i read the data generated by the first data generation unit 11-1, the second data generation unit 11-2, ..., the i-th data generation unit 11-i and converts it into information.
[0118] At once Figure 16 As shown in the flowchart, step S106 involves determining whether the feedback control unit 13 has obtained a SAT solution based on the information converted by the first data conversion unit 12-1, the second data conversion unit 12-2, ..., the i-th data conversion unit 12-i, and the pre-input exploration problem information. If step S106 determines that the feedback control unit 13 has obtained a SAT solution, the process proceeds to step S108, where the final SAT solution (optimal solution) is output using the display device 23 or the output device 24. If step S106 determines that the feedback control unit 13 has not obtained a SAT solution, the process proceeds to step S107, where the output adjustment unit 14 sends an output adjustment signal (bounce signal) to each of the first data generation unit 11-1, the second data generation unit 11-2, ..., the i-th data generation unit 11-i.
[0119] Furthermore, regarding step S107, the feedback control unit 13 can also update each change probability ε according to the rules specified by the user. i,bThe value of the variable is sent to the change setting unit 16. The feedback control unit 13 sends a command signal to the output adjustment unit 14 until it is determined that a SAT solution can be obtained, causing the output adjustment unit 14 to repeatedly send output adjustment signals or send output adjustment signals and updated change probability values to each of the first data generation unit 11-1, the second data generation unit 11-2, ..., the i-th data generation unit 11-i, repeating the loop of control steps S104 → S105 → S106 → S107 → S104. In this way, the feedback control unit 13 will continue to repeat the loop until it is determined that the final SAT solution (optimal solution) of the SAT problem represented by the multiple meanings of the constraints and the logic of these constraints can be obtained.
[0120] (An overview of the solution exploration procedure in the first embodiment)
[0121] Figure 16 The series of solution exploration methods shown can be processed by combining with... Figure 16 Computers with equivalent algorithms software Program to control Figure 2 The de-exploration system shown is used for implementation. This program only requires the program storage device 25 of the computer system constituting the de-exploration system of the present invention to be used. Furthermore, the de-exploration program of the first embodiment is stored on a computer-readable recording medium. By reading this recording medium into the program storage device 25 of the de-exploration system, a series of de-exploration methods of the present invention can be implemented. Here, "computer-readable recording medium" means, for example, a program-recordable medium such as a computer's external storage device, semiconductor storage, magnetic disk, optical disk, optical-magnetic disk, magnetic tape, etc.
[0122] Specifically, "computer-readable recording media" includes floppy disks, CD-ROMs, MO discs, open-reel tapes, etc. For example, the main body of the information processing device can be configured to have a built-in or externally connected floppy disk drive (floppy disk drive) and optical disk drive (optical disk drive). For a floppy disk drive, a floppy disk is inserted; for an optical disk drive, a CD-ROM is inserted through its slot. By performing a predetermined read operation, the decoding program stored on these recording media can be installed into the program storage device 25 constituting the decoding system. Furthermore, the decoding program of the first embodiment can be stored in the program storage device 25 via an information processing network such as the Internet.
[0123] That is, regarding the solution exploration procedure of the first embodiment, if corresponding to Figure 16 The process of step S101 shown in the flowchart of the first embodiment of the solution exploration system is performed by the user via... Figure 2The input device 21 is used to input an example of an optimization problem as multiple constraints of various meanings. The control unit 17 sets the input constraints as SAT problem information, which is a logical AND of the constraints, and issues a command to store this exploration problem information in the data storage device 22. Further, in step S102, if the user individually inputs multiple assignable variation probabilities ε for each variable via the input device 21... i,b , probability of deviation p i Critical value θ i,b Then the control unit 17 issues a change probability ε after the input. i,b , probability of deviation p i Critical value θ i,b Commands stored in data storage device 22.
[0124] Furthermore, corresponding to Figure 16 In step S103 of the flowchart, the control unit 17 sends a command to read information from the data storage device 22 to the change setting unit 16. This information is the change probability ε input to the change setting unit 16 from an external source. i,b , probability of deviation p i Critical value θ i,b The change setting unit 16 is based on the change probability ε read from the data storage device 22. i,b The information provides independent and different variation probabilities for each of the first data generation unit 11-1, the second data generation unit 11-2, ..., the i-th data generation unit 11-i. Furthermore, the variation setting unit 16 is based on the deviation probability p read from the data storage device 22. i The information provides independent and different deviation probabilities for each of the first signal adjustment circuit 141, the second signal adjustment circuit 142, ..., the i-th signal adjustment circuit. Furthermore, the variation setting unit 16 is based on the threshold value θ read from the data storage device 22. i,b The information provides independent and different threshold values for each of the first data conversion unit 12-1, the second data conversion unit 12-2, ..., the i-th data conversion unit 12-i.
[0125] Then, corresponding to the processing in step S104, for each of the first data generation unit 11-1, the second data generation unit 11-2, ..., the i-th data generation unit 11-i, independent non-uniform data based on different probability of variation is generated. Thus, the first data generation unit 11-1, the second data generation unit 11-2, ..., the i-th data generation unit 11-i will set the occurrence frequency of a specific variable output by each of them to a value different from the occurrence frequency of other variables. Then, corresponding to the processing in step S105, for the same number of first data conversion units 12-1, second data conversion units 12-2, ..., the i-th data conversion unit 12-i as the first data generation unit 11-1, the second data generation unit 11-2, ..., the i-th data generation unit 11-i, the control unit 17 reads the data generated by each of the first data generation unit 11-1, the second data generation unit 11-2, ..., the i-th data generation unit 11-i, and sends a command to convert this read data into information.
[0126] Corresponding to Figure 16 In step S106 of the flowchart, for the feedback control unit 13, the control unit 17 outputs a command to determine whether an optimal solution has been obtained based on the information converted by the first data conversion unit 12-1, the second data conversion unit 12-2, ..., the i-th data conversion unit 12-i and the pre-input exploration problem information. In step S106, when the feedback control unit 13 determines that a SAT solution has been obtained, the control unit 17 outputs a command to proceed to step S108. Corresponding to the processing in step S108, the control unit 17 uses the display device 23 or the output device 24 to output the final SAT solution (optimal solution). In step S106, when the feedback control unit 13 determines that a SAT solution has not been obtained, the control unit 17 outputs a command to proceed to step S107. Then, corresponding to the processing in step S107, the control unit 17 outputs a command to the output adjustment unit 14 to send an output adjustment signal (bounce signal) to each of the first data generation unit 11-1, the second data generation unit 11-2, ..., the i-th data generation unit 11-i. Alternatively, regarding step S107, the feedback control unit 13 can also adjust the change probability ε... i,b The value is updated according to the rules specified by the user, and such value is sent to the change setting unit 16.
[0127] Control unit 17 continuously sends command signals to output adjustment unit 14 to feedback control unit 13 until the final SAT solution (optimal solution) is determined to be obtained. Based on this command, output adjustment unit 14 is instructed to repeatedly send output adjustment signals or output adjustment signals and updated change probability values to each of the first data generation unit 11-1, the second data generation unit 11-2, ..., the i-th data generation unit 11-i. This process, corresponding to the loop of steps S104 → S105 → S106 → S107 → S104, is repeatedly controlled by feedback control unit 13. In this way, according to the solution exploration procedure of the first embodiment, the optimal solution to the SAT problem, expressed as a logical AND of multiple constraints, can be obtained.
[0128] If based on Figure 2 The solution exploration system of the first embodiment illustrated in the example, Figure 16 The flowchart illustrates the solution exploration method of the first embodiment and its corresponding... Figure 16 The solution exploration procedure of the first embodiment of the flowchart, except for non-uniform variation, can still obtain the optimal solution even if the CONTRA rule, which eliminates the necessary restrictive rules in the conventional amoeba SAT solution, is removed. The CONTRA rule will be explained later. That is, if the solution exploration system, solution exploration method and solution exploration procedure of the first embodiment are used, the goal of solving the SAT problem is achieved without complicating the optimization algorithm. Furthermore, there are cases where multiple SAT solutions are obtained from the problem information. In such cases, the occurrence probability of each variable in each SAT solution can be set individually. That is, if the solution exploration system, solution exploration method and solution exploration procedure of the first embodiment are used, the SAT problem can be solved quickly and efficiently by setting the variation probability of specific data non-uniformly. This allows setting the occurrence frequency of a specific variable to be relatively more or less than the occurrence frequency of other variables. Furthermore, by using program variables that can modify the problem information (a standardized logical expression), various problem instances can be represented, thus requiring no hardware changes. That is, even if the problem instance changes, the same circuit can still be used to find the optimal solution. The process of making program variables modifiable will be discussed later.
[0129] The first data generation unit 11-1, the second data generation unit 11-2, ..., the i-th data generation unit 11-i output non-uniform data according to a set non-uniform variation probability. The data output from the first data generation unit 11-1, the second data generation unit 11-2, ..., the i-th data generation unit 11-i can be binary-coded digital data or analog data; however, in the following explanation, the example of outputting either "1" or "0" will be used. Furthermore, any one or more of the first data generation unit 11-1, the second data generation unit 11-2, ..., the i-th data generation unit 11-i receives an output adjustment signal (bounce signal) from the output adjustment unit 14. Then, the first data generation unit 11-1, the second data generation unit 11-2, ..., the i-th data generation unit 11-i, having received this output adjustment signal, controls the output non-uniform data accordingly.
[0130] like Figure 3 As shown, focusing on the first data generation unit 11-1, when an output adjustment signal is supplied to the first data generation unit 11-1, the first data generation unit 11-1 can be set to output "0" at a higher frequency. In this case, as... Figure 4 As shown, when no output adjustment signal is supplied to the first data generation unit 11-1, the frequency of the output "1" of the first data generation unit 11-1 increases. Furthermore, each of the first data generation unit 11-1, the second data generation unit 11-2, ..., the i-th data generation unit 11-i can be implemented in any form, as long as it is feasible. Figure 3 and Figure 4 The functions shown. Each of the first data generation unit 11-1, the second data generation unit 11-2, ..., the i-th data generation unit 11-i can be, for example, a circuit unit of an amoeba computer that outputs either "1" or "0" at a certain time interval. Or, when the solution exploration program of the first embodiment is executed on the computer, it can be considered as a conceptual component (logic circuit) of a hypothetical software, not limited to physical hardware resources.
[0131] The data output from the first data generation unit 11-1, the second data generation unit 11-2, ..., the i-th data generation unit 11-i of the solution exploration system in the first embodiment is not only randomly output data like uncorrelated probabilistic random numbers, but also includes data output from systems such as chaotic mechanical systems or nonlinear oscillator combined systems, which are output under conditions of spatially or temporally correlated variations. The characteristic of the non-uniform occurrence frequency of this output data is determined according to the non-uniform variation probability supplied by the variation setting unit 16. As described above, each of the first data conversion unit 12-1, the second data conversion unit 12-2, ..., the i-th data conversion unit 12-i reads the data output from each of the first data generation unit 11-1, the second data generation unit 11-2, ..., the i-th data generation unit 11-i, and performs information conversion according to each of the output data. The first data conversion unit 12-1, the second data conversion unit 12-2, ..., the i-th data conversion unit 12-i each output the information for this information conversion.
[0132] At this time, the values obtained by the first data conversion unit 12-1, the second data conversion unit 12-2, ..., the i-th data conversion unit 12-i are -X. min ... -1, 0, +1, ... +X max It can also be the output ratio to a certain critical value θ i,b Larger or a certain critical value θ i,b The following is the critical value θ. i,b Alternatively, different values can be set independently for each i and b corresponding to the data conversion unit. Furthermore, the information output from each of the first data conversion unit 12-1, the second data conversion unit 12-2, ..., the i-th data conversion unit 12-i is not limited to such positive or negative binary data; any value is acceptable, as long as it is based on the data being converted.
[0133] Furthermore, when there are N variables, each of the first data generation unit 11-1, the second data generation unit 11-2, ..., the i-th data generation unit 11-i, and each of the first data conversion unit 12-1, the second data conversion unit 12-2, ..., the i-th data conversion unit 12-i can be composed of N units, or they can be composed of 2N units. The information output from each of the first data conversion unit 12-1, the second data conversion unit 12-2, ..., the i-th data conversion unit 12-i is sent to the feedback control unit 13. This output information can also be displayed on the screen of a display device 23, etc.
[0134] The feedback control unit 13 receives information converted and output by the first data conversion unit 12-1, the second data conversion unit 12-2, ..., the i-th data conversion unit 12-i. This feedback control unit 13 controls the transmission of the output adjustment signal (rebound signal) of the output adjustment unit 14 based on the received information and the exploration problem information pre-input and stored in the data storage device 22. Specifically, the feedback control unit 13 controls the presence or absence of the transmission of the output adjustment signal by the first data generation unit 11-1, the second data generation unit 11-2, ..., the i-th data generation unit 11-i. Furthermore, the feedback control unit 13 represents the optimal solution for the exploration problem information based on the information converted by the first data conversion unit 12-1, the second data conversion unit 12-2, ..., the i-th data conversion unit 12-i through repeated control of the output adjustment signal transmission. This optimal solution can also be represented via a user interface such as a display device 23.
[0135] The output adjustment unit 14, based on the control from the feedback control unit 13, sends an output adjustment signal to each of the first data generation unit 11-1, the second data generation unit 11-2, ..., the i-th data generation unit 11-i, or sends an output adjustment signal and the updated value of the change probability. This output adjustment signal is supplied to all of the first data generation units 11-1, the second data generation unit 11-2, ..., the i-th data generation unit 11-i, or conversely, it is not supplied to all of the first data generation units 11-1, the second data generation unit 11-2, ..., the i-th data generation unit 11-i. Each of the first data generation unit 11-1, the second data generation unit 11-2, ..., the i-th data generation unit 11-i that is supplied with this output adjustment signal is compared with each of the first data generation unit 11-1, the second data generation unit 11-2, ..., the i-th data generation unit 11-i that is not supplied with an output adjustment signal, and has a tendency to have different output data.
[0136] The variation setting unit 16 is a device that assigns a non-uniform occurrence frequency to the data output from each of the first data generation unit 11-1, the second data generation unit 11-2, ..., the i-th data generation unit 11-i by supplying non-uniform variation probabilities. The solution exploration system of the first embodiment is as follows: Figure 16As shown in the flowchart, the processing actions are performed in the order of the first data generation unit 11-1, the second data generation unit 11-2, ..., the i-th data generation unit 11-i, the first data conversion unit 12-1, the second data conversion unit 12-2, ..., the i-th data conversion unit 12-i, and the feedback control unit 13, until the final SAT solution (optimal solution) is obtained. Then, the output adjustment signal from the output adjustment unit 14 is sent, and the processing actions are repeated.
[0137] In the solution exploration system of the first embodiment, the output adjustment signal (bounce signal) is sent or not sent for any of the first data generation unit 11-1, the second data generation unit 11-2, ..., the i-th data generation unit 11-i, based on the exploration problem information that has been pre-input and stored in the data storage device 22. In other words, the feedback control unit 13 outputs from each of the first data generation unit 11-1, the second data generation unit 11-2, ..., the i-th data generation unit 11-i, and controls the sending of the output adjustment signal of the output adjustment unit 14 based on two main factors: the information converted by each of the first data conversion unit 12-1, the second data conversion unit 12-2, ..., the i-th data conversion unit 12-i, and the exploration problem information stored in the data storage device 22.
[0138] The term "exploration problem information" refers to all problem information, including constraints or objective functions, expressed in propositional logic. The exploration problem information stored in data storage device 22 can also be interpreted as all problem information concerning the optimal solution exploration problem. The exploration problem information stored in data storage device 22 can, for example, be represented as a propositional logic expression consisting of N variables. The exploration problem information is defined as (P0 ⊆ P1 ⊆ P2 ... ?P n = "true" ("1") or "false" ("0") (here, "?" can also be represented by any operation notation beginning with logical OR, logical AND, etc.). Regarding the solution exploration system of the first embodiment, in order to explore the optimal solution to the problem information, the supply control of the output adjustment signal is performed, so that information that does not conform to the propositional logic expression is excluded as exploration problem information, according to the outputs from each of the first data generation unit 11-1, the second data generation unit 11-2, ..., the i-th data generation unit 11-i, and the information converted by each of the first data conversion unit 12-1, the second data conversion unit 12-2, ..., the i-th data conversion unit 12-i. By utilizing this, for example, a SAT problem that explores variables that can be satisfied in order to make the values of all propositional logic expressions "true" ("1") can also be given as exploration problem information, thereby exploring its solution.
[0139] For example, Figure 5 This is a propositional logical expression that makes the logical AND of the six disjunctions expressed by the given Boolean expressions F11 to F16 equal to 1 ("true"). This propositional logical expression holds four variables x. 1, x 2, x 3, The expression has 4 and 6 disjuncts. Since the 6 disjuncts are combined using a logical AND, it is known that in order to set the logical AND of the 6 disjuncts to 1, all disjuncts must be 1. For example, considering... Figure 5 When the Boolean expression F11 = (x1 or ~x2), if x1 is assumed to be "0", the Boolean expression F11 cannot be made "1" unless x2 is made "0". Furthermore, in this specification, the Boolean expression shown in parentheses is represented by the Boolean logic symbol "~" to indicate negation (NOT). In the Boolean expression F11 = (x1 or ~x2), when x1 = "0", the control is performed to eliminate the case where x2 is "1". Also, when x2 is "1", if x1 is "0", the Boolean expression F11 cannot be made "1". In the Boolean expression F11 = (x1 or ~x2), when x2 = "1", the control is performed to eliminate the case where x1 is "0".
[0140] Furthermore, considering the Boolean expression F12 = (~x2 or x3 or ~x4), when x3 is "0" and x4 is "1", if x2 is "1", then the Boolean expression F12 cannot be made "1". In this case, control is applied as if eliminating the case where x2 is "1". Similarly, when x2 is "1" and x3 is "0", if x4 is "1", then the Boolean expression F12 cannot be made "1". In this case, control is applied as if eliminating the case where x4 is "1". Likewise, when x2 is "1" and x4 is "1", if x3 is "0", then the Boolean expression F12 cannot be made "1". In this case, control is applied as if eliminating the case where x3 is "0".
[0141] The remaining Boolean expressions F13=(x1 or x3) and even F16=(~x1 or x4) are also like this. Figure 5As shown, in order to make the values of all propositional logic expressions "true" according to the same logic, control is performed to exclude those that do not conform to the propositional logic expressions. Thus, it becomes possible to guide the values of all propositional logic expressions to "true". Furthermore, in performing such a solution exploration, in the solution exploration system of the first embodiment, it is possible to supply output adjustment signals (rebound signals) to each of the first data generation unit 11-1, the second data generation unit 11-2, ..., the i-th data generation unit 11-i, thereby enabling the exclusion of propositional logic expressions that do not conform to the information of the exploration problem based on the information held by each of the first data conversion unit 12-1, the second data conversion unit 12-2, ..., the i-th data conversion unit 12-i. For this purpose, by providing... Figure 5 The example illustrates the problem information composed of propositional logic formulas. The output adjustment signal is supplied accordingly, and finally the output state of each of the first data conversion unit 12-1, the second data conversion unit 12-2, ..., the i-th data conversion unit 12-i, which are propositional logic formulas that constitute problem information, is achieved.
[0142] Especially in unraveling the mystery of... Figure 5 The propositional logic expression formed by multiple disjunctive phrases, such as Boolean expression F11 and even Boolean expression F16, can be controlled by inputting this as exploration problem information into the feedback control unit 13. This allows for the supply control of output adjustment signals based on the exploration problem information stored in the data storage device 22, guiding the solution process. Furthermore, Figure 5 The SAT solution shown is (x1, x2, x3, x4) = (1, 1, 1, 1), which can be obtained using the solution exploration system of the first embodiment.
[0143] Furthermore, regarding the solution exploration system of the first embodiment, in solving the propositional logic formula, the problem instance of the optimization problem is formalized as a SAT problem expressed as multiple "if" forms (meaning forms) of constraints and the logical AND of multiple constraints. The "meaning form of constraints" is equivalent to the INTER rule of the amoeba SAT solution described later. Thus, even if the CONTRA rule of the amoeba SAT solution described later is eliminated, the optimal solution can be obtained, and the SAT problem can be solved without complicating the optimization algorithm.
[0144] But, for example Figure 6 In the case of the propositional logic expression shown in (a), the SAT solution is to become (x1, x2, x3, x4) = (1,1, 1, 1), (1, 1, 1, 0), (1, 1, 0, 0), (1, 0, 0, 0). Figure 6 (b) means Figure 6The propositional logical expression shown in (a) is represented by a logical AND constraint in the form of "if" (meaning form) corresponding to each of the five disjunctive phrases. Although it needs to be derived from... Figure 6 The optimal solution is selected from the propositional logic shown in (a). However, in the solution exploration system of the first embodiment, the occurrence probability of each variable in the SAT solution can be individually set. That is, the variation probability can be set so that the occurrence frequency of one variable among x1, x2, x3, x4 is relatively more or less than the occurrence frequency of other variables, thereby allowing a solution to be selected quickly and efficiently. Let x be the selected variable. j Taking the case of "non-uniformity" as an example, the solution with the least frequency of occurrence of (j is odd) = 1 can be reduced to two solutions: (x1, x2, x3, x4) = (1, 1, 0, 0) and (1, 0, 0, 0).
[0145] exist Figure 7A and Figure 7B The optimization of the automatic conveying system of the trolleys in the logistics warehouse is explained, as an example of expressing the constraints in the form of the solution exploration system of the first embodiment ("if" form). Figure 7A This represents a two-dimensional configuration of unit transport areas (cells) within a logistics warehouse. The arrows within a unit transport area indicate restrictions on the direction of movement. Figure 7B The horizontal axis is a time axis with grid sizes based on the unit of time taken. Figure 7B In other words, the horizontal axis displays an arrangement of 28 operating units, consisting of time 1 to time 28, which respectively constitute the operating unit time. Figure 7B The vertical axis is to Figure 7A The two-dimensional arrangement of unit conveying areas within the logistics warehouse shown is converted into a one-dimensional arrangement along the vertical axis, displaying the coordinate axes of spatial positions with the unit conveying area as the grid size. Figure 7A and Figure 7B In the diagram, the grid indicated by the upward-sloping profile line represents the first vehicle v1, and the grid indicated by the upward-sloping profile line represents the second vehicle v2. The case where vehicle v exists within a unit transport area (grid) i at time (running unit time) p is represented as x. v,i,p =1. When the first car v1 is requested to transport goods from loading cell 7 (denoted by F1) to unloading cell 5 (denoted by T1), and the second car v2 is requested to transport goods from loading cell 15 (denoted by F2) to unloading cell 17 (denoted by T2), a set of three constraints is defined as follows, whereby the solution satisfying all three constraints is a schedule that can represent the transport requests of the cars. Figure 7B ).
[0146] (First constraint): The constraint that prohibits the same vehicle from splitting into multiple grids: If x v,i,p =1 then x must be v,j,p =0.
[0147] (Second Restriction): Multiple trolleys are prohibited from coexisting in the same grid. If x... v,i,p =1 then x must be w,i,p =0.
[0148] (Third Restriction): Restrictions on a vehicle's transport request: It must stay at the designated loading / unloading bay for a specified time t. v .
[0149] like Figure 7B As shown, the first vehicle v1, indicated by a rightward-rising section line, is located in cell 2 at time 1, but moves to cell 1 to the left of cell 2 at time 2, and then to cell 4 below cell 1 at time 3. Further, the first vehicle v1, indicated by a rightward-rising section line, moves to cell 3 to the left of cell 4 at time 4, moves to cell 7 (indicated by F1 below cell 3) at time 5, and stops at time 8 for loading. The first vehicle v1, indicated by a rightward-rising section line, moves to cell 11 below cell 7 at time 9, moves to cell 15 below cell 11 at time 10, moves to cell 19 below cell 15 at time 11, moves to cell 20 to the right of cell 19 at time 12, and stops at time 13.
[0150] Furthermore, the first car v1, represented by a rightward-rising section line, moves to cell 23 below cell 20 at time 14, to cell 24 to the right of cell 23 at time 15, to cell 21 above cell 24 at time 16, and to cell 22 to the right of cell 21 at time 17. Further, the first car v1, represented by a rightward-rising section line, moves to cell 18 above cell 22 at time 18, to cell 14 above cell 18 at time 19, to cell 10 above cell 14 at time 20, and remains stationary until time 21. Then, the first car v1, represented by a rightward-rising profile line, moves to cell 6 above cell 10 at time 22, stops at time 23, and then moves to cell 5, the destination cell to the left of cell 6, shown as T1, at time 24, and stops at time 27 for unloading.
[0151] The second vehicle v2, shown by the upward-sloping cross-section, was in cell 1 at time 1, but moved to cell 4 below cell 1 at time 2, and to cell 3 to the left of cell 4 at time 3. Further, the second vehicle v2, shown by the upward-sloping cross-section, moved to cell 7 below cell 3 at time 4, to cell 11 below cell 7 at time 5, and to cell 15 (shown as F2) below cell 11 at time 6, before stopping at time 9 to move the loading. Furthermore, the second vehicle v2, shown by the leftward-rising section line, moves to cell 19 below cell 15 at time 10, to cell 20 to the right of cell 19 at time 11, to cell 23 below cell 20 at time 12, to cell 24 to the right of cell 23 at time 15, to cell 21 above cell 24 at time 14, and to cell 17 (shown as T2) above cell 21 (which becomes the destination) at time 15, and stops at time 18 for unloading. Furthermore, the second vehicle v2, shown by the leftward-rising section line, moves to cell 13 above cell 17 at time 19 and stops at time 20. Then, at time 21, it moves to cell 9 above cell 13, at time 22 it moves to cell 5 above cell 9, at time 23 it moves to cell 2 above cell 5, at time 24 it moves to cell 1 to the left of cell 2, pauses at time 26, and then moves to cell 4 below cell 1 at time 25.
[0152] Furthermore, in Figure 8A This demonstrates the effect of a solution exploration system using a novel non-uniform amoeba SAT solution in the optimization of an automated conveying system for trolleys in a logistics warehouse, where the variation in the assigned data becomes non-uniform. Figure 8B This indicates the effect of applying the same type of amoeba SAT solution to the optimization of an automated conveyor system for trolleys in the same logistics warehouse for comparison purposes. Figure 7A and Figure 7B same, Figure 8A and Figure 8B The horizontal axis is a time axis with the running unit time set as the grid size. Figure 8A and Figure 8B The vertical axis is the coordinate axis that displays the spatial position of a unit conveying area set to the size of a grid. (And...) Figure 7A and Figure 7B Similarly, in Figure 8A and Figure 8B In the diagram, the grid indicated by the upward-sloping section line represents the first vehicle, v1, and the grid indicated by the upward-sloping section line represents the second vehicle, v2. (This is used in the context of...) Figure 8AIn terms of the scheduling of the solution exploration system of the first embodiment of the novel non-uniform amoeba SAT solution, the first car v1, shown by the rightward rising profile, is located in cell 1 at time 1, but moves to cell 4 below cell 1 at time 2, and moves to cell 3 to the left of cell 4 at time 3.
[0153] Furthermore, at time 4, it moves to the area below grid 3. Figure 7A Cell 7, indicated by F1, remained stationary at cell 7 until time 6 for loading. The first car v1, after loading was completed, moved to cell 11 below cell 7 at time 7, to cell 15 below cell 11 at time 8, to cell 19 below cell 15 at time 9, and to cell 20 to the right of cell 19 at time 10. Further, the first car v1, shown by a rightward-rising section line, moved to cell 23 below cell 20 at time 11, to cell 24 to the right of cell 23 at time 12, to cell 21 above cell 24 at time 13, and to cell 22 to the right of cell 21 at time 14. Furthermore, the first car v1, shown by the rightward-rising section line, moves to cell 18 above cell 22 at time 15, to cell 14 above cell 18 at time 16, and to cell 10 above cell 14 at time 17. Then, the first car v1, shown by the rightward-rising section line, moves to cell 6 above cell 10 at time 18, and to cell 5 (shown as T1) to the left of cell 6 at time 19, stopping at time 22 for unloading. The first car v1, having finished unloading, moves to cell 2 above cell 5 at time 24, stops at time 25, and then returns to cell 1 to the left of cell 2 at time 26.
[0154] exist Figure 8A The second car v2, shown by the upward-sloping cross-section, was in cell 4 at time 1, but moved to cell 3 to the left of cell 4 at time 2. Further, the second car v2, shown by the upward-sloping cross-section, moved to cell 7 below cell 3 at time 3, to cell 11 below cell 7 at time 4, and to cell 11 below cell 11 at time 5. Figure 7A Cell 15, indicated by F2, remained stationary until time 7 for loading. The second car, v2, after loading was completed, moved to cell 19 below cell 15 at time 8, to cell 20 to the right of cell 19 at time 9, to cell 23 below cell 20 at time 10, to cell 24 to the right of cell 23 at time 11, to cell 21 above cell 24 at time 12, and to cell 21 above cell 21, which became its destination, at time 13. Figure 7ACell 17, indicated by T2, remains stationary at time 15 for unloading. The second car, v2, finishes unloading at time 16, moves to cell 13 above cell 17, then to cell 9 above cell 13 at time 17, then to cell 5 above cell 9 at time 18, then to cell 2 above cell 5 at time 19, then to cell 1 to the left of cell 2 at time 20, and finally to cell 4 below cell 1 at time 21. The second car, v2, finishes unloading at time 22, moves to cell 8 below cell 4 and remains stationary at time 23. Then, at time 24, it moves to cell 12 below cell 8, and at time 25, it moves to cell 12 below cell 9.
[0155] On the other hand, Figure 8B As shown in the conventional amoeba SAT solution scheduling, the first car v1, as indicated by the rightward ascending profile, is located at cell 4 at time 1, but moves to cell 3 to the left of cell 4 at time 2, and then moves to the cell below cell 3 at time 3. Figure 7A Cell 7, indicated by F1, remained stationary at cell 7 until time 6 for loading. The first car v1, after loading was completed, moved to cell 11 below cell 7 at time 7, to cell 15 below cell 11 at time 8, to cell 19 below cell 15 at time 9, and to cell 20 to the right of cell 19 at time 10. Further, the first car v1, shown by a rightward-rising section line, moved to cell 23 below cell 20 at time 11, to cell 24 to the right of cell 23 at time 12, to cell 21 above cell 24 at time 13, and to cell 17 above cell 21 at time 14. Furthermore, the first car v1, shown by the rightward ascending section line, moves to cell 13 above cell 17 at time 15, moves to cell 9 above cell 13 at time 16, and moves to its destination above cell 9 at time 17. Figure 7A In the middle, grid 5, as shown by T1, stops at time 22 for unloading. The first car v1, after unloading, moves to grid 2 above grid 5 at time 23, stops at time 24, returns to grid 1 to the left of grid 2 at time 25 and stops at time 26, and then moves to grid 4 below grid 1 at time 27.
[0156] At once Figure 8B In the conventional amoeba SAT solution scheduling, the second car v2, shown by the upward-sloping profile, is located at cell 11 below cell 7 at time 4, but moves to cell 11 below cell 11 at time 5. Figure 7ACell 15, indicated by F2, stopped at time 7 for loading. Although the exact path is unclear, the second car, v2, finished loading at time 14 and was in cell 22, stopping at time 17. At time 18, the second car v2 moved to cell 18 above cell 22, stopped at time 19, then moved to cell 14 above cell 18 at time 20, stopping at time 21. At time 22, the second car v2 moved to cell 10 above cell 14, then moved to cell 6 above cell 10 at time 23, stopping at time 24. At time 25, the second car v2 moved to cell 5 to the left of cell 6, then moved to cell 2 above cell 5 at time 26. At time 27, the second car v2 moved to cell 1 to the left of cell 2.
[0157] like Figure 8A As shown, the solution exploration system of the first embodiment using the non-uniform amoeba SAT solution method can obtain solutions with fewer stationary states of the trolley and higher optimality. Conversely, as... Figure 8B As shown, the solution obtained using the conventional amoeba SAT method results in a solution with many stationary states of the trolleys, indicated by the horizontal arrows, and low optimality. The dwell time for unloading at grid 5 of the first trolley v1 is... Figure 8A In other words, it refers to the designated dwell time from time 19 to time 22, which is 4 operating units of time. Relatively speaking, Figure 8B Specifically, it refers to the 6-unit time interval from time 17 to time 22. Furthermore, regarding... Figure 8B The solution obtained using the conventional amoeba SAT method, as shown, indicates that the second vehicle v2, represented by the upward-sloping profile, stalled in grid 22 from time 14 to time 17, with 4 running units of time indicated by the horizontal arrows in both directions. Furthermore, regarding... Figure 8B As shown in the solution obtained using the conventional amoeba SAT method, the second car v2 stops at grid 18 from time 18 to time 19, at grid 14 from time 20 to time 21, and at grid 6 from time 23 to time 24, respectively, with each stop marked by two horizontal arrows indicating two running units of time.
[0158] In the solution exploration system of the first embodiment, the so-called "solution with high optimality" means the solution that completes the scheduling of all trolley transport in a shorter time, that is, the state x that stays in grid i. v,(i,i),p Solutions to schedules with fewer occurrences of 1. For example, ... Figure 8B As shown in the previous type of amoeba SAT solution, the state at cell 22 is x 2,(22,22),p=1 is used to represent this. In the case of the automated conveying system of the trolleys in the logistics warehouse, the goal is to increase the probability of change of the leg with subscript (i,i) relatively more than the probability of change of other amoeba legs (with subscript (i,j≠i)), thus representing the stationary state x of the trolley. v,(i,i),p =1 amoeba leg x v,(i,i),p,1 Relatively elongated and difficult to take the value 1. Here, "amoeba legs x" refers to... v,(i,i),p,1 "yes Figure 11 The output voltage of the pseudopodia unit in the radial circuit shown is analogous to the structure of a single-celled amoeba with multiple legs. (The text then repeats the information about voltage output and circuitry.) Figure 11 As shown, a multi-legged amoeba computer utilizes the parallelism of the current flowing through the circuit or the probabilistic actions resulting from device variations, selectively obtaining highly optimal solutions (schedules) with high probability.
[0159] The SAT problem is used in many applications, including software / hardware verification and information security technologies, and its importance is expected to increase in the future. The optimal solution for scheduling can be obtained quickly and easily using a solution exploration system based on a novel non-uniform amoeba SAT solution method in the first embodiment. Furthermore, in the solution exploration system of the first embodiment, the solution can be obtained by pre-reading the propositional logic expression into the register of the feedback control unit 13 using the same method. For example, problems such as the Hamiltonian path problem or the Knapsack problem can be converted into SAT problems for solution, and the feedback control unit 13 can also possess such conversion functions. Therefore, even if exploration problem information other than the SAT problem is input, it can be converted into a SAT problem for solution. Any conventional method can be used to convert exploration problems other than the SAT problem into SAT problems.
[0160] SAT questions are based on amoeba The algorithm implements the three constraint rules defined by INTRA, INTER, and CONTRA. However, for the solution exploration system of the first embodiment, as described above, it has the significant effect of reaching the optimal solution even if the CONTRA rule is eliminated. That is, even if the CONTRA rule, which has the largest size and increases the installation cost such as storage space or circuit area / wiring, is eliminated, the optimal solution can be obtained by controlling the state value of the output adjustment signal (bounce signal).
[0161] Here, we explain the three limiting rules concerning the amoeba computer: the "INTRA rule," the "INTER rule," and the "CONTRA rule." For example, Figure 9The serial connection group of the solution exploration system of the first embodiment shown is composed of the first group consisting of the first data generation unit 11a and the first data conversion unit 12b, the second group consisting of the second data generation unit 11b and the second data conversion unit 12a, ..., and the eighth group consisting of the eighth data generation unit 11h and the eighth data conversion unit 12h. Figure 11 The example illustrates one of eight pseudo-foot units, each possessing a series circuit with a resistor and a diode. For example... Figure 9 As shown, imagine using a pair of outputs from two data conversion units to represent the allocation of the value of one variable among four variables x1, x2, x3, x4.
[0162] That is, regarding the solution exploration system of the first embodiment, such as Figure 9 As shown, variable x1 is represented by a pair of two first data conversion units 12a and 12b arranged from the top as the first and second. Further, variable x2 is represented by a pair of two third data conversion units 12c and 12d arranged from the top as the third and fourth. Further, variable x3 is represented by a pair of two fifth data conversion units 12e and 12f arranged from the top as the fifth and sixth. Further, variable x4 is represented by a pair of two seventh data conversion units 12g and 12h arranged from the top as the seventh and eighth.
[0163] At once Figure 9 In this context, the true or false values ("0" or "1") of the four variables x1, x2, x3, x4 are represented by reading the states of the eight data generation units 11a to 8h corresponding to the eight legs of a single-celled amoeba, and the eight data conversion units 12a to 8h. Figure 9 It is known that, generally, representing the truth value of N variables requires 2N data generation units and 2N data conversion units to read the data output from these data generation units. Figure 9 Specifically, for each variable x1 to x4, the 1st data transformation unit 12a, the 3rd data transformation unit 12c, the 5th data transformation unit 12e, and the 7th data transformation unit 12g of the odd-numbered units are represented in each variable x. i The case where the assigned value is "0". Furthermore, for the even-numbered 2nd data conversion unit 12b, 4th data conversion unit 12d, 6th data conversion unit 12f, and 8th data conversion unit 12h, this is represented by the variable x in each unit. i The case where the value "1" is assigned.
[0164] like Figure 9 As shown, when the true / false value allocation of the four variables x1, x2, x3, x4 is to be represented by the first data conversion unit 12a and even the eighth data conversion unit 12h, for example, only the even-numbered second data conversion unit 12b, fourth data conversion unit 12d, sixth data conversion unit 12f, and eighth data conversion unit 12h take values greater than a predetermined threshold (e.g., greater than "0"), while the odd-numbered first data conversion unit 12a, third data conversion unit 12c, fifth data conversion unit 12e, and seventh data conversion unit 12g take values below a predetermined threshold (e.g., below "0"), the true / false value allocation (x1, x2, x3, x4) = (1, 1, 1, 1) is represented. When only the first data conversion unit 12a, the fourth data conversion unit 12d, the fifth data conversion unit 12e, and the eighth data conversion unit 12h take values greater than the predetermined threshold, this indicates a true / false value allocation (0101). Similarly, when only the second data conversion unit 12b, the third data conversion unit 12c, the sixth data conversion unit 12f, and the seventh data conversion unit 12g take values greater than the predetermined threshold, this indicates a true / false value allocation (1010).
[0165] In use Figure 9 When representing the assignment of true and false values of N variables using 2N data transformation units as shown, the "INTRA rule" focuses on representing the 1 variable x. i When a pair of data conversion units representing true and false values are provided, a state (variable x) is supplied to make both sides obtain a value greater than a predetermined threshold value. i This is a constraint rule that prevents the generation of an output adjustment signal (bounce signal) if the value is "0" and the value is "1" (a contradiction). Therefore, the supply of the output adjustment signal is controlled in the corresponding data generation unit, such that if the value corresponding to variable x is 1... i If one of the data conversion units in a pair obtains a positive value, then the other data conversion unit will not obtain a positive value. Figure 15 (a) is expressed using 8 conditional expressions. Figure 5The INTRA rules of the propositional logic formula are shown. For example, when the data conversion unit corresponding to "0" of x1 obtains a value greater than a predetermined threshold (excited), an output adjustment signal is supplied to the corresponding data generation unit to inhibit the data conversion unit corresponding to "1" of x1 from obtaining a value greater than the predetermined threshold. Similarly, when the data conversion unit corresponding to "1" of x1 obtains a value greater than a predetermined threshold (excited), an output adjustment signal is supplied to the corresponding data generation unit to inhibit the data conversion unit corresponding to "0" of x1 from obtaining a value greater than the predetermined threshold.
[0166] The “INTER rule” is a constraint rule that limits the supply to adjust the output signal (rebound signal) based on the information given in the exploration problem. Figure 15 (b) is expressed as a conditional expression of 13. Figure 5 The INTER rule for propositional logic expressions is shown. For example, focusing on... Figure 5 When F11 = (x1 or ~x2), if the data conversion unit corresponding to "1" of x2 obtains a value larger than the predetermined threshold (excited), an output adjustment signal is supplied to the corresponding data generation unit to inhibit the data conversion unit corresponding to "0" of x1 from obtaining a value larger than the predetermined threshold. Similarly, if the data conversion unit corresponding to "0" of x1 obtains a value larger than the predetermined threshold (excited), an output adjustment signal is supplied to the corresponding data generation unit to inhibit the data conversion unit corresponding to "1" of x2 from obtaining a value larger than the predetermined threshold.
[0167] The "CONTRA rule" is a constraint rule used by the supply chain to resolve logical contradictions arising when supply control is intended to be implemented according to the INTER rule for output adjustment signals (bounce signals). If... Figure 5To illustrate this with the propositional logic shown, we define the Boolean expression F11 = (x1 or ~x2) that eliminates the state of x1 being "0" when x2 is "1", the Boolean expression F13 = (x1 or x3) that eliminates the state of x1 being "0" when x3 is "0", and the Boolean expression F16 = (~x1 or x4) that eliminates the state of x1 being "1" when x4 is "0". Therefore, for example, if x2 is "1" and x4 is "0", a logical contradiction arises where both the states of x1 being "0" and "1" are eliminated. To prevent such a situation, the CONTRA rule is used to control it, ensuring that in such cases, the states of x2 being "1" and x4 being "0" will not occur simultaneously. Similarly, if x3 is "0" and x4 is "0", a contradiction arises where neither the state of x1 being "0" nor the state of x1 being "1" is permitted. To prevent such a situation, the CONTRA rule is used to control it so that the states where x3 is "0" and x4 is "0" will not occur simultaneously.
[0168] again, Figure 5 The propositional logic shown is a Boolean expression F12 = (~x2 or x3 or ~x4) that eliminates the state where x3 is "0" when x2 is "1" and x4 is "1". Similarly, a Boolean expression F14 = (x2 or ~x3) that eliminates the state where x3 is "1" when x2 is "0". Therefore, when x2 is "1", x4 is "1", and x2 is "0", x3 becomes a situation where neither "0" nor "1" is desirable, resulting in a logical contradiction. Similarly, the CONTRA rule can be used to prevent the simultaneous occurrence of the states where x2 is "1", x4 is "1", and x2 is "0". Figure 15 (c) is represented by 9 conditional expressions. Figure 5 The CONTRA rule is shown in the propositional logic expression. The CONTRA rule is a set of restrictive rules obtained by listing combinations of states where each variable is prohibited from taking either a "true" or "false" value within the INTER rule applicable to the supply control of the output adjustment signal (bounce signal) based on the problem information. In the solution exploration system of the first embodiment, this CONTRA rule has a significant effect of eliminating the need for it.
[0169] The solution exploration system of the first embodiment is characterized by its ability to obtain highly optimal solutions without requiring the application of the CONTRA rule. The difference between conventional systems requiring the application of the "CONTRA rule" and the solution exploration system of the first embodiment, which does not require the "CONTRA rule," lies in the processing of the output adjustment signal. Conventional technologies requiring the application of the "CONTRA rule," such as... Figure 17 As shown, let "i" be the variable x. iThe subscript i is any one of 1 to 4, and "b" is set to a binary value of "0" or "1". For each i and b, the output adjustment signal L determined by the output adjustment unit 149 is calculated. i,b The data will be input unchanged to the first data generation unit 11a and even the eighth data generation unit 11h. Then, the first data generation unit 11a and even the eighth data generation unit 11h are adjusted by the output adjustment signal L. i,b and the probability of change data Z i,b To determine the binary data S i,b ="0" or "1" output.
[0170] In contrast, the solution exploration system of the first embodiment is used as follows: Figure 9 As already explained, for each variable x i The subscript i indicates the two "temporarily determined" output adjustment signals L' determined by the main output adjustment circuit 140 within the output adjustment unit 14. i,0 and output adjustment signal L' i,1 The signal will be input to the first signal conditioning circuit 141 and even the fourth signal conditioning circuit 144, and the first signal conditioning circuit 141 and even the fourth signal conditioning circuit 144 will output an adjustment signal L'. i,0 and output adjustment signal L' i,1 All are 1 (L' i,0 =L' i,1 =1), then the deviation probability p i "Formal decision" output adjustment signal L i,0 =0 and output adjustment signal L i,1 =1, with a bias probability of 1-p i "Formal decision" output adjustment signal L i,0 =1 and output adjustment signal L i,1 =0, if not (L' i,0 =L' i,1 =0 or L' i,0 ≠L' i,1 If the "official decision" is made, the output adjustment signal L will be used. i,0 =L' i,0 and output adjustment signal L i,1 =L' i,1 Bias probability p i It is possible to set different values for each i independently (usually p). i =0.5). Then, the first data generation unit 11a and even the eighth data generation unit 11h are based on the output adjustment signal L. i,b and the probability of change data Z i,b Determine the two-valued data S i,b Output "0" or "1".
[0171] Figure 10 This refers to the internal structure described in Patent Document 2, illustrating the technology of giving data type 2 the same variation through the internal structure. Regarding the invention described in Patent Document 2, the plurality of data generation units are composed of eight data generation units, from the first data generation unit 11-1 to the eighth data generation unit 11-8, and their spatial arrangement is based on... Figure 10 The topology shown will be explained. In the invention described in Patent Document 2, the output frequency of the binarized data is internally determined by the output adjustment signal. In contrast, in the solution exploration system of the first embodiment, the output frequency of the data can be specified to an arbitrary value externally using the input device 1. Figure 10 In the topology shown, the number of data generation units supplied with the output adjustment signal is defined as the "effective configuration number num". In the solution exploration system of the first embodiment, the same variation is given to the two types, so that as the effective configuration number num of the data generation unit increases, the data generation unit that has never been supplied with the output adjustment signal outputs more "1"s.
[0172] Figure 10 (a) is an example illustrating the so-called initial step, in which no output adjustment signal is supplied from the output adjustment unit 14 to the first data generation unit 11-1 or even the eighth data generation unit 11-8. Figure 10 Regarding (a), the effective configuration number num = 0. Here, focusing on the 6th data generation unit 11-6, as a parameter for adjusting the variation of the data output from the 6th data generation unit 11-6, for the solution exploration system of the first embodiment, the first variation adjustment parameter β is defined. - (num) and the second variable adjustment parameter β + (num) is used to assign the same variation to the data in two categories. The first variation adjustment parameter β - (num) and the second variable adjustment parameter β + The value of (num) is determined by internal constructions such as the function variation of the effective allocation number num.
[0173] The initial step involves setting the setpoint of the parameter used to adjust the variation to the first variation adjustment parameter β. - (0) = 0.5, second variable adjustment parameter β + (0) = 0.5. This setting is the first variable adjustment parameter β in the first data generation unit 11-1 and even the eighth data generation unit 11-8. - (0) is a situation where a value of "0" is generated when the output adjustment signal is not supplied, resulting in a value different from the value induced by the output adjustment signal. This can be interpreted as a "mistake" or similar situation, with a probability of 50%. The second variable adjustment parameter β...+ (0) refers to the situation in the first data generation unit 11-1 and even the eighth data generation unit 11-8 where a value "1" is generated when the output adjustment signal is supplied, generating a value different from that induced by the output adjustment signal. This means that the probability of such a situation as "error" occurring is 50%. However, in order to explore the diverse combinations of true and false value assignments, such "error" is a necessary and indispensable action. In order to efficiently explore solutions, it is important to appropriately adjust its occurrence frequency.
[0174] On the other hand, Figure 10 In case (b), the output adjustment signal is supplied from the output adjustment unit 14 to the first data generation unit 11-1, the fourth data generation unit 11-4, and the fifth data generation unit 11-5. In this case, the effective configuration number num = 3. Under these circumstances, the setpoint of the parameter supplied for adjustment is changed to the first adjustment parameter β. - (3) = 0.25, the second variable adjustment parameter β + (3) = 0.05. Thus, in the 6th data generation unit 11-6, the probability of generating "0" when no output adjustment signal is supplied is 25%, and the probability of generating "1" when an output adjustment signal is supplied is 5%. That is, the control is configured such that the probability of "error" and similar situations will decrease as the number of effective configurations num increases.
[0175] At once Figure 10 In case (c), the output adjustment signal is supplied from the output adjustment unit 14 to the first data generation unit 11-1, the third data generation unit 11-3, the fifth data generation unit 11-5, and the seventh data generation unit 11-7, with an effective configuration number num=4. In this case, the first variable adjustment parameter β is changed. - (4) = 0.05, the second variable adjustment parameter β + (4) = 0.00. In the 6th data generation unit 11-6, the probability of generating “0” when no output adjustment signal is supplied and the probability of generating “1” when an output adjustment signal is supplied are 5% and 0%, respectively. That is, when the number of effective configurations num increases, the probability of occurrence of “error” and other similar situations will decrease.
[0176] The variation adjustment unit of the invention described in Patent Document 2 adjusts the data output from each of the first data generation units 11-1 to the eighth data generation units 11-8 by the same type of variation according to the number of the first data generation units 11-1 to the eighth data generation units 11-8 supplied with the output adjustment signal. Specifically, the first data generation units 11-1 to the eighth data generation units 11-8 output binary digital data of "0" or "1", but instead of randomly outputting "0" or "1" with equal probability, the same type of variation is set such that one of "0" or "1" is output more.
[0177] In the solution exploration system of the first embodiment, which differs from the invention described in Patent Document 2, the variation probability is individually set from outside the system for the variation setting unit 16, thereby changing the occurrence probability of each variable. That is, the solution exploration system of the first embodiment employs a non-uniform method where the user can individually input the occurrence probability of each variable in the logical expression used in the conventional amoeba SAT solution from outside the system using the input device 21. For example, in... Figure 10 As explained therein, regarding the same amoeba SAT solution described in Patent Document 2, in order to make each variable x i state x i The frequency of occurrence of β = 1 becomes the same, and all amoeba legs are assigned the same value β for both types. - (num) and β + (num). In contrast, the solution exploration system of the first embodiment is for a specific variable x. j The set, by relatively increasing or decreasing the number of states x j The frequency of occurrence of 1 can be set by the user from outside the system, with a change probability ε. i,b This enables the optimal solution to be obtained quickly and with a high probability.
[0178] The electronic amoeba of the solution exploration system in the first embodiment mimics the structure of a single-celled amoeba, for example, as already described. Figure 11 As shown, it possesses:
[0179] An amoeba core 101 having eight pseudopod units, each equipped with a resistor (passive element) and a diode (nonlinear element) in series circuitry; and
[0180] The control logic circuit 201 for the bounce control of the amoeba core 101 is also known as the non-uniform SAT algorithm.
[0181] Since the rebound control logic circuit 201 has the function of supplying the rebound signal (output adjustment signal) to the eight pseudopodia units of the amoeba core 101, it has Figure 2The function of the output adjustment unit 14 in the solution exploration system of the first embodiment shown. However, if compared... Figure 11 and Figure 2 Therefore, it can be seen that the rebound control logic circuit 201 also has... Figure 2 The functions of the feedback control unit 13, the variable setting unit 16, or the data storage device 22 shown are as follows. The pseudopodia unit of the amoeba core 101 corresponds to the foot of a single-celled amoeba.
[0182] The amoeba core 101 uses the magnitude of the terminal voltage of an electronic circuit to represent the extension and retraction of multiple legs of a single-celled amoeba. The pseudopodia unit is, for example... Figure 11 As shown, the circuit shape can be constructed using a topology that mimics that of a single-celled amoeba to form a radial star-shaped network. However, Figure 11 This is merely an example; as long as the electrical properties are equivalent, the shape of the amoeba core 101 is not limited to the radial shape illustrated in the example. A star topology. In an environment where the bounce rule for state transitions based on an undesirable output from the bounce control logic circuit 201 is prohibited, a solution is explored by repeatedly trying and failing, with all feet simultaneously scaling in parallel. Then, when a bounce signal L from the bounce control logic circuit 201 is reached, a solution is found. 1,0 , L 1,1 , ...L 4,0 , L 4,1 When the inversion signal is not applied to the stable state of all extended legs, a SAT solution is found. To solve the SAT problem of N variables, 2N amoeba legs are needed. The terminals on the front end of the single-celled amoeba legs connected to the rebound control logic circuit 201 are grounded through a grounded parallel circuit consisting of the first nMOS transistor (first switching element), the second nMOS transistor (second switching element), and a capacitor (charge storage component), which determines the output terminal X of each pseudo-foot unit. 1,0 X 1,1 , ……X 4,0 X 4,1 The output value. The first and second switching elements constitute a discharge control circuit that controls the discharge of charge stored in the charge storage component (capacitor). The first and second switching elements constituting the discharge control circuit of the grounded parallel circuit are merely examples. The discharge control circuit of the grounded parallel circuit connected to the front end of the foot of a single-celled amoeba can be replaced by various circuits such as logic gates, as long as it has the control function of discharging the charge stored in the charge storage component, and various equivalent circuits can be used to construct the discharge control circuit.
[0183] For example, the output terminal X of the pseudo-foot unit is responsible for determining the value of variable x1. 1,0 With output terminal X 1,1 The output terminals of the 2-input NOR gate 301 are input to the output terminal X. 1,0 The control electrode (gate electrode) of the second switching element of the parallel circuit (hereinafter referred to as the "grounded parallel circuit") connected to the ground potential is also input to the output terminal X. 1,1 The control electrode of the second switching element in the grounded parallel circuit. Then, as... Figure 11 As shown, the rebound signal (output adjustment signal) L 1,0 The inverted signal is input to the output terminal X of the pseudofoot unit via inverter 410. 1,0 The control electrode of the first switching element in the grounded parallel circuit. Also, the bounce signal L 1,1 The inverted signal will be input to the output terminal X of the pseudofoot unit via inverter 411. 1,1 The control electrode of the first switching element in the grounded parallel circuit. Then, the output terminal X of the pseudofoot unit. 1,0 With output terminal X 1,1 The outputs are respectively input to the bounce control logic circuit 201.
[0184] Similarly, the connection responsible for determining the value of variable x2 is located at the output terminal X. 2,0 With output terminal X 2,1 The output terminals of the two-input NOR gate 302 are both input to form the output terminal X. 2,0 The control electrode of the second switching element in the grounded parallel circuit and the output terminal X 2,1 The control electrode of the second switching element in the grounded parallel circuit. Further, the bounce signal L... 2,0 and rebound signal L 2,1 The inverted signal will be independently input to the output terminal X of the pseudofoot unit via inverters 420 and 421. 2,0 and output terminal X 2,1 The control electrode of the first switching element in the grounded parallel circuit of each. Then, the output terminal X of the pseudo-foot unit. 2,0 and output terminal X 2,1 The outputs are respectively input to the bounce control logic circuit 201. Similarly, via inverters 430 and 431, the output terminal X, which is responsible for determining the value of variable x3, is... 3,0 With output terminal X 3,1 The output terminals of the two-input NOR gate are both input to the output terminal X. 3,0 The control electrode and output terminal X of the second switching element in the grounded parallel circuit 3,1The control electrode of the second switching element in the grounded parallel circuit reflects the signal L. 3,0 and rebound signal L 3,1 The inverted signal will be independently input to the output terminal X. 3,0 and output terminal X 3,1 The control electrode of the first switching element in the grounded parallel circuit of each. Then, the output terminal X of the pseudo-foot unit. 3,0 and output terminal X 3,1 The outputs are respectively input to the bounce control logic circuit 201.
[0185] Furthermore, similarly, the output terminal X, which determines the value of variable x4, 4,0 With output terminal X 4,1 The output terminals of the two-input NOR gate are both input to the output terminal X. 4,0 The control electrode and output terminal X of the second switching element in the grounded parallel circuit 4,1 The control electrode of the second switching element in the grounded parallel circuit reflects the signal L. 4,0 and rebound signal L 4,1 The inverted signal will be independently input to the output terminal X via inverters 440 and 441. 4,0 and output terminal X 4,1 The control electrode of the first switching element in the grounded parallel circuit of each. Then, the output terminal X of the pseudo-foot unit. 4,0 and output terminal X 4,1 The outputs are respectively input to the bounce control logic circuit 201. Through such independent bounce signals L... 1,0 , L 1,1 , ……L 4,0 , L 4,1 The inverted signal is independently input to each of the control electrodes of the first switching element in the grounded parallel circuit of the eight pseudopodia units, and the conduction state of the corresponding first switching element changes. Then, just as single-celled amoebas adapt to their environment by changing the length of their legs, the output terminal X of the pseudopodia unit, which constitutes an amoeba-like electronic circuit, changes. 1,0 X 1,1 , ……X 4,0 X 4,1 The output will be based on the bounce signal L 1,0 , L 1,1 , ……L 4,0 , L 4,1 The algorithm of a biological computer is used to solve complex combinatorial optimization problems at high speed by changing the nature of the problem.
[0186] Current I is supplied to the center (hub) of the star network, and the supplied current I is distributed to two or more pseudo-foot units. Although the diagram is omitted, the actual bounce control logic circuit 201 is a memory bank that stores the bounce rules (see reference). Figure 2 The data storage device 22). The "bounce rule" is, in other words, equivalent to the "given restrictions" of a single-celled amoeba. Furthermore, the bounce rule is valid even if programmed into a program (see [reference]). Figure 2 (Program storage device 25). Furthermore, it is permissible to directly install programmable logic devices (PLDs) or logic gate circuits with logic functions written in a program.
[0187] Input current I to each pseudofoot unit, and output terminal X of each pseudofoot unit 1,0 X 1,1 , ……X 4,0 X 4,1 The output will be fed to the controller within the bounce control logic circuit 201. The controller is responsible for responding to the output terminals X from each pseudofoot unit. 1,0 X 1,1 , ……X 4,0 X 4,1 The output generates a feedback signal L based on the bounce rule. 1,0 , L 1,1 , ……L 4,0 , L 4,1 As a "rebound signal (output adjustment signal)", the generated feedback signal L 1,0 , L 1,1 , ……L 4,0 , L 4,1 The inverted signals are each given to the control electrode of the first switching element of the grounded parallel circuit of each pseudo-foot unit. Feedback signal L 1,0 , L 1,1 ,……L 4,0 , L 4,1 It is a signal used to update state variables, by changing the output terminal X. 1,0 X 1,1 , ……X 4,0 X 4,1 The output mimics the movement of a single-celled amoeba's leg elongation state.
[0188] Thus, regarding the solution exploration system of the first embodiment, an algorithm can be provided that uses an electronic amoeba circuit mimicking a single-celled amoeba to quickly solve complex combinatorial optimization problems such as the traveling salesman problem or the SAT problem, where the processing of the bounce control logic circuit 201 does not require processing equivalent to the CONTRA rule. On the other hand, regarding Figure 18 As shown in the prior art amoeba core 100, the output terminal X of the front end of the single-celled amoeba's leg is connected to the rebound control logic circuit 200. 1,0 X 1,1 , ……X 4,0 X 4,1 Each of them is grounded through a parallel grounding circuit of the switching element (first switching element) and the capacitor (charge storage component), therefore it is related to... Figure 11 The solution exploration system of the first embodiment shown has a different circuit topology for the grounded parallel circuit. In the case of the amoeba core 100 of the prior art, each switching element constituting the grounded parallel circuit receives an independent bounce signal L. 1,0 , L 1,1 , ……L 4,0 , L 4,1 The inverted signal determines the output terminal X of each pseudofoot unit. 1,0 X 1,1 , ……X 4,0 X 4,1 The output value.
[0189] That is to say, Figure 18 In the case of the amoeba core 100 of the prior art shown, the bounce signal L is independently input via an inverter 530. 3,0 The inverted signal is sent to the output terminal X. 3,0 The control electrode of the switching element (first switching element) in the grounded parallel circuit. Similarly, the bounce signal L is independently input via inverters 521 and 520. 2,1 and rebound signal L 2,0 The inverted signal is sent to the output terminal X of the pseudofoot unit. 2,1 and output terminal X 2,0 The control electrodes of the switching elements in the grounded parallel circuits of each are respectively. Similarly, the bounce signal L is input via inverters 511 and 510. 1,1 and rebound signal L 1,0 The inverted signal is sent to the output terminal X of the pseudofoot unit. 1,1 and output terminal X 1,0 The control electrode of the switching element in the grounded parallel circuit. Furthermore, similarly, the bounce signal L is independently input via inverters 541 and 540. 4,1 and rebound signal L4,0 The inverted signal is sent to the output terminal X. 4,1 and output terminal X 4,0 The control electrodes of the switching elements in the parallel grounded circuits of each are then used. The bounce signal L is then independently input via inverter 531. 3,1 The inverted signal is sent to the output terminal X. 3,1 The control electrode of the switching element in the grounded parallel circuit.
[0190] If we take "i" as the variable x i The subscript i=1 or even 4 indicates that, in Figure 18 The amoeba core 100 of the prior art shown is shown. Figure 11 The input terminals of the 2-input NOR gate shown are not connected to the variables x. i The value of the output terminal X is determined. i,0 With X i,1 Between. That is, in Figure 18 The amoeba core 100 shown only has the output terminal X 1,0 X 1,1 , ……X 4,0 X 4,1 The output values of each are fed back to the control electrodes of each of the switching elements (first switching elements) constituting each grounded parallel circuit. Therefore, for the amoeba core 100 of the prior art, the application of the CONTRA rule is required. In contrast, for the solution exploration system of the first embodiment, such as Figure 11 As shown, via the corresponding output terminal X i,0 and output terminal X i,1 Each of them uses 2-input NOR gates 301, 302, 303, and 304, when the output terminal X... i,0 and output terminal X i,1 The output becomes X i,0 =X i,1 When the value is 0, the circuit can be forcibly destabilized, which can cause the output terminal X to... i,0 and output terminal X i,1 The output to X i,0 =1 or X i,1 The probabilistic transition of any state with =1 does not require the application of the CONTRA rule.
[0191] Here, we will take Figure 7A , Figure 7B , Figure 8A and Figure 8B The examples given illustrate how to set the probability of optimal occurrence in an automated conveying system. For instance, by setting the probability of variation to ε. v,(i,i),p,1 >ε v,(i,j),p,1This allows us to obtain a solution with higher "optimality" that minimizes the number of times the trolley stops, such that the state x represents the state of trolley v from time p when it stops at grid i. v,(i,i),p =1 represents the state x of the trolley v moving from grid i to grid j up to time p. v,(i,j),p =1 has a lower probability of being realized.
[0192] The so-called optimal solution (track or schedule) with high "optimality" for the automated conveying system of the first embodiment is the solution that completes the conveying of all trolleys in a shorter time, that is, nothing more than... Figure 8A The state x where cell i stays as shown. v,(i,i),p The number of solutions with a value of 1 is less. Therefore, the probability of variation for a foot with a subscript of (i,j≠i) is relatively increased compared to other feet (where the subscript becomes (i,j≠i)), making the stationary state x of the trolley more representative of the variation. v,(i,i),p =1 Amoeba legs X v,(i,i),p,1 It will relatively elongate and is less likely to achieve a value of "1". This is achieved by setting the probability of variation to ε. v,(i,i),p,1 >ε v,(i,j),p,1 It can selectively obtain solutions (or tracks or schedules) with a high probability of "optimality".
[0193] Regarding the solution exploration system of the first embodiment, a variable y is prepared, which is called a "program variable". i and the restrictive conditions of meaning and form "if y i =b and x j =b'then x k =b''" is a single instance. If we set it to be b ("0" or "1") to fix the program variable y in the solution exploration... i The value of is set, and then it only becomes the program variable y. i When x = b, the premise of the constraint will be true, which can be expressed as "if x j =b'then x k The constraint condition "=b''" is made valid when it becomes a program variable y. i When = 1 - b, the premise of the constraint becomes false, thus invalidating the constraint whose premise is false. In this way, only the program variable y is changed. i By using a fixed value to switch between validating and invalidating constraints, solutions to various problem instances can be explored without changing the hardware, i.e., using the same circuit.
[0194] For example, using Figure 12When solving propositional logic F2 as shown in (a), the solutions to F2 are four: (x1, x2, x3, y4) = (1, 1, 1, 1), (1, 1, 1, 0), (1, 1, 0, 0), and (1, 0, 0, 0). In this case, y4 is called the "program variable," and the other three variables x1, x2, and x3 are called exploration variables. Figure 12 (b) means Figure 12 The propositional logical expression shown in (a) is expressed using a logical AND with a restriction of meaning form, but Figure 6 Part of the expression shown in (b) is fixed to the program variable y4 = 0, thus omitting the constraints at the end of line 2 and line 5. If y4 = 0 is fixed for solution exploration, the result is reduced to three solutions: (x1, x2, x3, y4) = (1, 1, 1, 0), (1, 1, 0, 0), and (1, 0, 0, 0). Figure 12 As shown in (a), by simply changing the fixed value of the program variable y4, we can explore solutions to various different problem instances.
[0195] exist Figure 13 The display will be via Figure 12 The program variable y is as shown in (a). i The method of representing various problem instances through changes is applicable to cases of optimization in automated transport systems. For comparison, while... Figure 14 Display the fixed program variable y F v,i,s y T v,j,s Examples of such situations. Figure 13 The horizontal axis is parallel to Figure 7B Similarly, the timeline is calculated using the unit of time taken as the grid size. Figure 13 In this regard, the arrangement of the 28 operating unit times, which consist of time 0 to time 27 respectively, is displayed on the horizontal axis. Figure 13 The vertical axis represents the movement of a unit transport area (cell) within the logistics warehouse in a two-dimensional arrangement from cell i to cell j, displayed as an edge (i,j), and the edge (i,j) is converted into a one-dimensional coordinate axis of the arrangement. Figure 7A The arrows within the grid shown indicate restrictions on the direction of movement, but when the element stops at a specific grid i, they are displayed as the edge (i,i) and thus included in the arrangement along the vertical axis. Figure 13 In the optimal scheduling shown, the grid indicated by the upward-sloping section line represents the first car, v1. The movement of car v from grid i to grid j is recorded as x. v,(i,j),p =1, and record the case where the cell i is in the cell as x. v,(i,i),p=1. For example... Figure 13 As shown, the first car v1, indicated by a leftward-rising cross-section, moves from grid 4 to grid 3 at time 2 and from grid 3 to grid 2 at time 3. The passages along the way are omitted, but the first car v1, indicated by a leftward-rising cross-section, remains stationary at grid 77 from time 25 to time 27.
[0196] Figure 14 The vertical axis of (a) is the coordinate axis that transforms the two-dimensional arrangement of unit conveying areas (grids) within the logistics warehouse into a one-dimensional arrangement of grids 1 to 80. Figure 14 In (a), the gray cells represent the program variable y, which records the initial position of the first car v1 when the program variables are fixed. I v,i .like Figure 14 As shown in (a), the first car v1 is designated (procedurally) to be located in cell 2 at time 1.
[0197] Figure 14 (b) has a horizontal axis that is a time axis with the unit of running time as the grid size. The arrangement of 10 units of running time, which consists of 1 unit of running time or even 10 units of running time, is displayed on the horizontal axis. Figure 14 The vertical axis of (b) is the coordinate axis that transforms the two-dimensional arrangement of the unit conveying area (grid) in the logistics warehouse into a one-dimensional arrangement of grid 1 to grid 80. Figure 14 (b) represents the fixed program variable y. F v,i,s In this case, the trolley v will be designated (programmed) to stay at loading location grid 4 (F6) as shown by the upward-sloping profile line for 4 running units of time. Figure 14 The horizontal axis of (c) is also a time axis with the unit of running time as the grid size. The arrangement of 10 units of running time, consisting of 1 unit of running time and up to 10 units of running time, is displayed on the horizontal axis. Figure 14 The vertical axis of (c) is the coordinate axis that transforms the two-dimensional arrangement of the unit conveying area (grid) in the logistics warehouse into a one-dimensional arrangement of grid 1 to grid 80. Figure 14 (c) represents the fixed program variable y. T v,j,s In this case, the trolley v will be designated (programmed) to stay at the unloading location grid 66 (T7) shown by the rightward-rising profile line for 4 running units of time.
[0198] As by Figure 13 and Figure 14The comparison shows that, according to the solution exploration system of the first embodiment, by changing the values of program variables, the number of trolleys, the initial location of the trolleys, the loading location, the unloading location, the loading time, the unloading time, etc. can be arbitrarily set, and the optimal solution can be explored for instances that hold various different trolleys' transport requests.
[0199] The solution exploration system of the first embodiment can be embodied as a circuit capable of higher-speed computation. When such a circuit is embodied, the optimization algorithm configuration can be set according to an application-specific integrated circuit (ASIC), FPGA, etc. Furthermore, the solution exploration system of the first embodiment can be embodied not only as a solution exploration system but also as a solution exploration program. In this case, for the hypothetical logical data generation units 11-1, 11-2, ... 11-i, by implementing the aforementioned components of the data conversion units 12-1, 12-2, ... 12-i, the feedback control unit 13, the output adjustment unit 14, and the variation setting unit 16 in each step of the program, a logical function equivalent to hardware resources can be embodied.
[0200] Furthermore, regarding the solution exploration system of the first embodiment, the feedback control unit 13 may be a circuit that constitutes part of the central processing unit (CPU), or it may not be a device with such a high information processing capability, but rather any simple component such as a so-called switch that only holds the function of converting the input from the data conversion units 12-1, 12-2, ... 12-i according to rules and supplying the output to the data generation units 11-1, 11-2, ... 11-i.
[0201] By using the SAT algorithm of the solution exploration system of the first embodiment, even if the constraints are expressed in literal form and the CONTRA rules that restrict the rules are eliminated, a solution can still be achieved. Therefore, the optimization algorithm can be solved without complicating the SAT problem. Furthermore, by adopting a method that allows individual input of the "occurrence probability" of each variable's state and by solving various problem instances through changes in "program variables," it is not necessary to fabricate ASICs or synthesize FPGAs for each instance. That is, according to the solution exploration system of the first embodiment, when various real-world scheduling problems are formalized as SAT problems, the same circuit can be used to solve the SAT problem quickly and efficiently for different instances.
[0202] (Mixed-type solution exploration system of the second embodiment)
[0203] If the solution exploration system, solution exploration method, and solution exploration procedure described in the first embodiment above are used to standardize various real-world scheduling problems as SAT problems, the algorithm can be kept simple, and the same circuit can be used to solve the "social scheduling optimization problem" quickly and efficiently for different instances. However, for example, in the optimization problem of a logistics warehouse transportation system that requires hundreds of trolleys carrying goods to efficiently deliver goods while responding to constantly updated transportation requests, once the number of variables or constraint rules such as INTRA rules used to obtain the SAT solution becomes large, the amount of hardware resources required will also become large, and the costs of obtaining the optimal solution quickly and efficiently will increase. Therefore, there is a need for a computational method that can reduce the number of variables or constraint rules used to obtain the SAT solution to suppress the amount of hardware resources used, and obtain the optimal solution quickly and efficiently at low cost.
[0204] Furthermore, the terms "social scheduling optimization problem," "combinatorial optimization problem," "SAT problem," "amoeba computer," and "amoeba SAT solution" defined at the beginning of the first embodiment are also applicable to the hybrid solution exploration system of the second embodiment. However, the terms used at the beginning of the first embodiment... Figure 1 The description excludes the traveling salesman problem (TSP), while the hybrid solution exploration system of the second embodiment of the present invention also includes the form of TSP.
[0205] For example, the solution of the amoeba computer that solves the TSP is called the "Amoeba TSP solution," and the hybrid solution exploration system of the second embodiment will be described below. Furthermore, the hybrid solution exploration system of the second embodiment describes a hybrid optimal solution calculation method that, when solving "social scheduling optimization problems" using various solutions other than the amoeba SAT solution such as the solution of the solution exploration system of the first embodiment (Amoeba SAT solution) or the amoeba TSP solution, can still obtain the optimal solution quickly and efficiently even when the number of variables or constraint rules increases and the amount of hardware resources used increases. While the calculation method of the hybrid solution exploration system of the second embodiment does not necessarily require the use of the amoeba SAT solution of the solution exploration system of the first embodiment, using it in a hybrid mode combined with the amoeba SAT solution can achieve the effect of obtaining the optimal solution more quickly and efficiently.
[0206] First, an outline of the system (optimal solution calculation system) used to implement the hybrid optimal solution calculation method of the second embodiment will be described. Figure 19As shown, the hybrid optimal solution calculation system of the second embodiment includes a central processing unit (CPU) 1, an input device 21, a data storage device 22, a display device 23, an output device 24, and a program storage device 25. The central processing unit 1 of the hybrid solution exploration system of the second embodiment is, for example, the type described in the solution exploration system of the first embodiment. Figure 2 The area enclosed by the dotted line. However, the central processing unit 1 of the mixed-mode solution exploration system in the second embodiment has two operational logic circuits, namely a first solution exploration operational logic circuit 1A and a second solution exploration operational logic circuit 1B, which makes mixed-mode operation possible. The first solution exploration operational logic circuit 1A has, for example, the functions of the solution exploration system in the first embodiment, and can implement the amoeba SAT solution method.
[0207] Therefore, the first solution exploration operation logic circuit 1A has the following characteristics: Figure 2 The system comprises a first data generation unit 11-1, a second data generation unit 11-2, ..., an i-th data generation unit 11-i, a first data conversion unit 12-1, a second data conversion unit 12-2, ..., an i-th data conversion unit 12-i, a feedback control unit 13, an output adjustment unit 14, and a variation setting unit 16. The second solution exploration operation logic circuit 1B is an operation logic circuit with a configuration and function other than the solution exploration system of the first embodiment, and can be implemented in... Figure 1 The operational logic circuit for solutions other than the CL-Amoeba SAT solution or the Amoeba TSP solution, etc. The term "CL-Amoeba SAT solution" means, as in... Figure 1 Except for the "circuit-level amoeba SAT solution" described above. Furthermore, the second solution, the operational logic circuit 1B, is also a solution that can implement procedures and effects other than the CL-amoeba SAT solution and the amoeba TSP solution.
[0208] In addition, Figure 19In the second embodiment of the hybrid solution exploration system, by having logic circuits with different configurations and functions, including a first solution exploration operation logic circuit 1A and a second solution exploration operation logic circuit 1B, a hybrid mode can be implemented to perform the amoeba SAT solution and select other solutions. Furthermore, in the optimal solution calculation method described later, when only the amoeba SAT solution is used, only the first solution exploration operation logic circuit 1A can be used, or the second solution exploration operation logic circuit 1B can be omitted. Moreover, in the hybrid optimal solution calculation, when only solutions other than the amoeba SAT solution are used, a mode can be adopted in which only the second solution exploration operation logic circuit 1B is used, omitting the first solution exploration operation logic circuit 1A. Furthermore, in the hybrid optimal solution calculation, when both the amoeba SAT solution and other solutions are used, both the first solution exploration operation logic circuit 1A and the second solution exploration operation logic circuit 1B can coexist. Additionally, although in Figure 19 The diagram is omitted, but it can also be configured to include other solution exploration operation logic circuits such as the third solution exploration operation logic circuit and the fourth solution exploration operation logic circuit, in addition to the first solution exploration operation logic circuit 1A and the second solution exploration operation logic circuit 1B, to achieve a wider range of mixed-mode operations.
[0209] exist Figure 19 Information input via input device 21 is stored in data storage device 22 via a bus. The information stored in data storage device 22 is provided to each of the first solution exploration operation logic circuits 1A and 1B via the bus. Control unit 17 controls the mixed-mode operation of each of the first solution exploration operation logic circuits 1A and 1B according to the time sequence output from the sequential circuit and the solution exploration program stored in program storage device 25. Program storage device 25 stores the solution exploration program for the amoeba SAT solution executed in the first solution exploration operation logic circuit 1A and the solution exploration program for solutions other than the amoeba SAT solution executed in the second solution exploration operation logic circuit 1B. When the optimal solution is obtained in the first solution exploration operation logic circuit 1A or the second solution exploration operation logic circuit 1B, it is displayed via display device 23 or output device 24.
[0210] like Figure 20As shown, the control unit 17 includes a track generator (generation unit) command control circuit 17G, a conflict tabulator (statistics unit) command control circuit 17T, and a conflict resolver (resolution unit) command control circuit 17R. The track generation unit command control circuit 17G commands the operation of the first solution exploration operation logic circuit 1A or the second solution exploration operation logic circuit 1B for each object seeking the optimal solution (track) for an optimization problem, thereby independently generating the most efficient initial track (initial solution). In the optimization of what is generally called "path," for example, in the automated transport system described in the first embodiment, conflicts or congestion between automated transport vehicles are not considered. That is, in path optimization, only the movement path (route) that minimizes cost for each automated transport vehicle is sought, i.e., spatial information. On the other hand, in the hybrid solution exploration system of the second embodiment, the optimization of the "track" means the operation of obtaining the full running schedule. That is, if we take the example of an automatic conveyor system, we can avoid conflicts or congestion between automatic conveyor trolleys.
[0211] In other words, in the example of optimizing the track of an automated transport system, the calculation involves obtaining the transit time or dwell time of all passing points, that is, the spatial and temporal information of all automated transport vehicles. Taking the transport vehicle scheduling problem of the automated transport vehicle system in a logistics warehouse as described in the first embodiment as an example, the object of seeking the optimal solution is each transport vehicle. Furthermore, the track generation unit command control circuit 17G commands the operation of the first solution exploration operation logic circuit 1A or the second solution exploration operation logic circuit 1B to generate k alternative tracks (alternative solutions) for each object (k is a positive integer of 2 or more) of the initial track. Further, the track generation unit command control circuit 17G generates k alternative tracks by updating the conflicting alternative tracks based on information from the conflict statistics unit command control circuit 17T, using the first solution exploration operation logic circuit 1A or the second solution exploration operation logic circuit 1B, through the amoeba SAT solution or other solutions.
[0212] The conflict statistics command control circuit 17T commands the operation of either the first solution exploration operation logic circuit 1A or the second solution exploration operation logic circuit 1B by listing the conflicts (event competition states) between the initial tracks generated by the track generation command control circuit 17G. Furthermore, the conflict statistics command control circuit 17T commands the operation of either the first solution exploration operation logic circuit 1A or the second solution exploration operation logic circuit 1B by detecting the presence or absence of conflicts for all pairs of alternative tracks generated by the track generation command control circuit 17G and tabulating this information. Further, the conflict statistics command control circuit 17T commands the operation of either the first solution exploration operation logic circuit 1A or the second solution exploration operation logic circuit 1B by providing conflict information to the track generation command control circuit 17G. The conflict resolution command control circuit 17R commands the operation of either the first solution exploration operation logic circuit 1A or the second solution exploration operation logic circuit 1B by exploring combinations of alternative tracks that can resolve conflicts based on the conflict information tabulated by the conflict statistics command control circuit 17T. Furthermore, the conflict resolution unit commands the control circuit 17R to confirm whether a combination of non-conflicting alternative tracks (the optimal solution) exists. When the optimal solution does not exist, it commands the operation of the first solution exploration operation logic circuit 1A or the second solution exploration operation logic circuit 1B to explore combinations of alternative tracks that can resolve conflicts until the number of explorations reaches the upper limit.
[0213] Next, the optimal solution calculation method for the mixed mode using the optimal solution calculation system of the second embodiment will be explained. The optimal solution calculation method of the second embodiment mainly implements the first solution exploration operation logic circuit 1A and the second solution exploration operation logic circuit 1B based on command signals sent from the track generation unit command control circuit 17G, the conflict statistics unit command control circuit 17T, and the conflict resolution unit command control circuit 17R within the control unit 17. For example... Figure 21 As shown in the flowchart, in step S201, the track generation unit commands the control circuit 17G to independently determine the most efficient initial track for each object seeking the optimal solution (track) for the optimization problem, and commands the operation of the first solution exploration operation logic circuit 1A or the second solution exploration operation logic circuit 1B. Next, in step S202, the conflict statistics unit commands the control circuit 17T to list the conflicts between the initial tracks determined in step S201, and commands the operation of the first solution exploration operation logic circuit 1A or the second solution exploration operation logic circuit 1B.
[0214] Taking the conveyor scheduling problem of the automated conveyor system in the logistics warehouse described in the first embodiment as an example, a conflict refers to a state where multiple different trolleys exist on the same grid at the same time. Then, in step S203, the track generation unit commands the control circuit 17G to generate k (k=0 to K-1) alternative tracks (alternative tracks) that can avoid conflicts for each object, including the initial track determined in step S201, based on the conflict information listed in step S202, and commands the operation of the first solution exploration operation logic circuit 1A or the second solution exploration operation logic circuit 1B. This is used in the description of the solution exploration system in the first embodiment. Figure 11 The amoeba core 101 shown is a structure corresponding to a single-celled amoeba.
[0215] At once Figure 11 Regarding the structure shown, Figure 2 The variable setting unit 16 is programmed into the rebound control logic circuit 201, but the amoeba core 101 and a set of variable setting units 16 corresponding to this amoeba core 101 are formed as a configuration. Figure 19 The logic operation circuit of the central processing unit 1 is the core of the exploration operation circuit. That is, the exploration operation circuit core is composed of an amoeba core 101 and a set of variable setting units 16 corresponding to the amoeba core 101. Multiple multicellular amoebas that combine this exploration operation circuit core can constitute a multicellular amoeba. Figure 19 The central processing unit 1. The structure of this multicellular amoeba is an assembly of multiple solution exploration circuit cores that perform parallel computing.
[0216] In step S203, the generation of k alternative schemes (alternative tracks) is ideally achieved using the processing of k first-implementation solution exploration logic circuits (hereinafter referred to as "Amoeba SAT-G") built into the first solution exploration operation logic circuit 1A. That is, the operation processing in step S203 is ideally performed by a "multicellular amoeba" that uses multiple amoebas (Amoeba SAT-G) built into the first solution exploration operation logic circuit 1A to generate k alternative schemes (alternative tracks) in a short time. In step S203, when the first solution exploration operation logic circuit 1A, which is composed of multicellular amoebas consisting of Amoeba SAT-G, generates k alternative schemes (alternative tracks), the first solution exploration operation logic circuit 1A functions as a "track generation solution exploration operation circuit". Furthermore, in step S204, the conflict statistics unit commands the control circuit 17T to detect the presence or absence of conflicts for all pairs of alternative tracks generated in step S203, and to control the operation of the first solution exploration operation logic circuit 1A or the second solution exploration operation logic circuit 1B in a tabulated manner. The conflict information tabulated here contains information about when and where the tracks of each object conflict with the tracks of other objects.
[0217] Furthermore, the conflict resolution command control circuit 17R commands the operation of either the first solution exploration operation logic circuit 1A or the second solution exploration operation logic circuit 1B in step S205, based on the conflict information tabulated in step S204, in a manner that explores combinations of alternative routes that can resolve conflicts. Regarding the mixed-type optimal solution calculation method of the second embodiment, the conflict resolution command control circuit 17R commands the operation of either the first solution exploration operation logic circuit 1A or the second solution exploration operation logic circuit 1B in step S205, which explores combinations of alternative routes that can resolve conflicts. Figure 19 The first solution exploration operation logic circuit 1A can use the amoeba SAT solution. In the hybrid solution exploration system of the second embodiment, the operation logic that explores combinations of alternative tracks that can resolve conflicts using the amoeba SAT solution is called "Amoeba SAT-R". In step S205, when the first solution exploration operation logic circuit 1A explores combinations of alternative tracks that can resolve conflicts, the first solution exploration operation logic circuit 1A functions as a "conflict resolution exploration operation circuit". The amoeba SAT-R can also be a single-celled amoeba different from the amoeba SAT-G composed of multicellular amoebas, or it can be a combination of using a part of a multicellular amoeba as amoeba SAT-G and using the remaining part as amoeba SAT-R.
[0218] Furthermore, if it can be ensured that the timing of the simultaneous operation of Amoeba SAT-G and Amoeba SAT-R is not guaranteed, then a part of the multicellular amoeba constituting Amoeba SAT-G can also be used as Amoeba SAT-R in a time-sharing manner. That is, the first solution exploration operation logic circuit 1A can logically function as Amoeba SAT-G constituting the orbital generation ALU, and as the conflict resolution ALU constituting Amoeba SAT-R. In terms of the Amoeba SAT solution, since it is possible to explore combinations of alternative orbits that reflect the objective function or various constraints, such as the probability of increasing the length of the objective function, it is possible to achieve the effect of not complicating the algorithm, and to explore the optimal solution (the combination of alternative orbits that can resolve conflicts) quickly and efficiently using the same circuit for different instances. However, in terms of the mixed optimal solution calculation method of the second embodiment, it is not necessary to use the Amoeba SAT-R solution in step S205. That is, the conflict resolution command control circuit 17R can also control the operation of the second solution exploration operation logic circuit 1B by command, and use solutions other than the amoeba SAT solution to explore alternative track combinations that can resolve conflicts.
[0219] Furthermore, in step S206, the conflict resolution unit commands the control circuit 17R to control the operation of either the first solution exploration logic circuit 1A or the second solution exploration logic circuit 1B in a manner that confirms the existence of a combination of non-conflicting alternative routes (the optimal solution). When the optimal solution exists, the control unit 17 displays the optimal solution, for example, in step S207. Figure 19 The display device 23, or from Figure 19 After the output device 24 outputs the optimal solution, the process ends. Figure 21 The flowchart shown illustrates the processing. On the other hand, when the optimal solution does not exist, the conflict resolution department commands the control circuit 17R to continue the exploration until the maximum number of attempts N is reached. max Up to this point, based on the conflict information tabulated in step S204, the loop of steps S206 → S208 → S205 is repeated to command and control the operation of the first solution exploration operation logic circuit 1A or the second solution exploration operation logic circuit 1B.
[0220] Furthermore, the command control continues to explore combinations of alternative routes that can resolve the conflict (the optimal solution). Also, the conflict resolution command control circuit 17R sends instructions for performing logical operations to the first solution exploration logic circuit 1A and the second solution exploration logic circuit 1B, causing the number of exploration attempts to reach the upper limit N before an optimal solution is found. max At that time, the track generation unit commands the control circuit 17G to generate a new alternative track based on the conflict information tabulated in step S204. This "conflict information" is information about when and where each object's track conflicts with the tracks of other objects.
[0221] That is, the track generation command control circuit 17G updates the conflicting alternative tracks according to the conflict information tabulated in step S204, and repeats the loop of steps S206→S208→S205, thereby generating k alternative tracks by commanding the operation of the first solution exploration operation logic circuit 1A or the second solution exploration operation logic circuit 1B. Here, regarding the mixed-type optimal solution calculation method of the second embodiment, the track generation command control circuit 17G sends a command to generate k alternative tracks to... Figure 19 The first solution explores the operational logic circuit 1A, enabling the implementation of the amoeba SAT solution as an operational process used by a multicellular amoeba. Regarding the amoeba SAT solution, since it can explore combinations of alternative orbitals that reflect the objective function or various constraints, such as the probability of increasing the value of the objective function through foot extension, it is possible to utilize multiple amoebas (multicellular amoebas) like a parallel computer. This achieves the effect of not complicating the algorithm, and allowing the same circuit to generate k alternative orbitals quickly and efficiently for different instances.
[0222] For example, taking the conveyor scheduling problem of the automated conveyor system in a logistics warehouse as described in the first embodiment as an example, the Amoeba SAT solution is applied to the alternative tracks for each track. Based on the tabulated conflict information, the bounce signals that prevent multiple different tracks from existing in the same cell at the same time are fixed to ON, thereby obtaining alternative tracks that can avoid all conflicts as a solution for parallel computation. However, for the mixed-type optimal solution calculation method of the second embodiment, the Amoeba SAT solution must be used in steps S205 to S206. That is, the track generation unit command control circuit 17G can also command and control the operation of the second solution exploration operation logic circuit 1B, thereby generating k alternative tracks using parallel computation solutions other than the Amoeba SAT solution.
[0223] Then, after generating k alternative tracks via the track generation unit command control circuit 17G, in step S204, the conflict statistics unit command control circuit 17T detects the presence or absence of conflicts for all pairs of alternative tracks generated in step S203, and tables this information, then commands the operation of either the first solution exploration operation logic circuit 1A or the second solution exploration operation logic circuit 1B. That is, regarding the mixed-type optimal solution calculation method of the second embodiment, based on the conflict information tables generated in step S204, a maximum N... max The search for the existence of a combination of non-conflicting alternative trajectories (the optimal solution). This is done when the maximum N is exceeded. maxIf the optimal solution is not found in the first attempt, the cycle of steps S204 → S205 → S206 → S208 → S209 → S204 is repeated to generate a new alternative trajectory and carry out the exploration.
[0224] In the mixed-mode optimal solution calculation of the second embodiment, steps S203, S205-206, and S209 describe a mixed mode in which the Amoeba SAT solution can be used, or a solution other than the Amoeba SAT solution can also be used. If the actions of the mixed mode are summarized, then as follows: Figure 22 As shown, four patterns are formed, namely (a), (b), (c), and (d).
[0225] Regarding the first mode, displayed as (a) at the top of the left-hand column, the conflict resolution command control circuit 17R, in step S205, as shown by the ○ at the top of the second column from the left, controls the operation of the first solution exploration operation logic circuit to explore combinations of alternative routes (optimal solutions) that can resolve conflicts. Figure 22 Specifically, in the second column from the left, the system that uses the Amoeba SAT solution to explore combinations of alternative orbits that can resolve conflicts is recorded as "Amoeba SAT-R". Furthermore, the orbit generation command control circuit 17G, as shown by the top circle in the second column from the right, controls the operation of the first solution exploration logic circuit in steps S203 and S209 to generate k alternative orbits. Figure 22 In this case, the system that uses the Amoeba SAT solution to obtain k alternative orbitals is recorded as "Amoeba SAT-G" in the second column from the right. Figure 22 The first pattern is a pattern using a multicellular amoeba consisting of an amoeba SAT-R in the second column from the left and an amoeba SAT-G in the second column from the right.
[0226] Figure 11 The amoeba core 101 shown corresponds to the structure of a single-celled amoeba. However, in order to obtain k alternative tracks, a multi-celled amoeba with a core of k types can also be used. Here, the multi-celled amoeba is further configured with a dedicated amoeba core for the amoeba SAT-R. Regarding the second mode shown as (b) in the second section of the left column, the conflict resolution command control circuit 17R controls the operation of the first solution exploration operation logic circuit constructed by the amoeba SAT-R in steps S205 to 206, as shown by the second circle in the second column from the left, to explore combinations of alternative tracks that can resolve conflicts. Furthermore, the track generation command control circuit 17G controls the operation of the second solution exploration operation logic circuit, which is not an amoeba computer, in steps S203 and S209, as shown by the top circle in the right column, to generate k alternative tracks. Figure 22The second mode is to use the configuration of the amoeba SAT-R in steps S205 to S206, but in steps S203 and S209, the mode is to not use the configuration of the amoeba computer described in the first embodiment.
[0227] Regarding the third mode (c) displayed in the third section of the left column, the conflict resolution command control circuit 17R, as shown by the top ○ in the third column from the left, controls the operation of the second solution exploration operation logic circuit in steps S205-206 to explore combinations of alternative tracks that can resolve conflicts. Furthermore, the track generation command control circuit 17G, as shown by the second ○ in the second column from the right, controls the operation of the first solution exploration operation logic circuit constituting the amoeba SAT-G in steps S203 and S209 to generate k alternative tracks. Figure 22 The third mode is a mode in which the amoeba computer configuration described in the first embodiment is not used in steps S205-206, but the amoeba computer configuration of the Amoeba SAT-G is used in steps S203 and S209. Regarding the fourth mode, shown as (d) at the bottom of the left column, the conflict resolution command control circuit 17R, as shown by the second circle in the third column from the left, controls the operation of the second solution exploration operation logic circuit in steps S205-206 to explore combinations of alternative tracks that can resolve conflicts. Furthermore, the track generation command control circuit 17G, as shown by the bottom circle in the right column, controls the operation of the second solution exploration operation logic circuit in steps S203 and S209 to generate k kinds of alternative tracks. Figure 22 The fourth mode is a mode in which the configuration of the amoeba computer described in the first embodiment is not used in both steps S205-206 and steps S203 and S209.
[0228] Here, the configuration of the conflict detected by the conflict statistics command control circuit 17T and the mode based on this configuration are defined as "Amoeba SAT-T". Amoeba SAT-T can also be constructed from a single-celled amoeba as described in the de-exploration system of the first embodiment, serving as the conflict statistics de-exploration operation circuit. Amoeba SAT-T can also be a single-celled amoeba different from Amoeba SAT-G, which is constructed from a multi-celled amoeba. Alternatively, a portion of a multi-celled amoeba can be used as Amoeba SAT-G, and the remaining portion as Amoeba SAT-R and Amoeba SAT-T. Furthermore, if it is possible to ensure that Amoeba SAT-G, Amoeba SAT-T, and Amoeba SAT-R are not processed simultaneously, then a portion of the multi-celled amoeba constituting Amoeba SAT-G can be used in a time-sharing manner as Amoeba SAT-R and Amoeba SAT-T.
[0229] That is, the first solution exploration operation logic circuit 1A can logically function as the amoeba SAT-G constituting the orbit generation ALU, as the conflict resolution ALU constituting the amoeba SAT-R, and as the conflict statistics ALU constituting the amoeba SAT-T. If the definition of amoeba SAT is used, then in the mixed-mode optimal solution calculation of the second embodiment, the mode in which the orbit generation command control circuit 17G uses the amoeba SAT-G mode and the conflict resolution command control circuit 17R uses the amoeba SAT-R mode can be called the "amoeba SAT-GTR mode". For the sake of convenience, the following explanation will focus on the amoeba SAT-GTR mode of the first mode, but... Figure 22 It is clear that it is not limited to the amoeba SAT-GTR mode; even modes 2 through 4 are acceptable.
[0230] Figure 21 The series of processes for calculating the optimal solution of the hybrid mode in the second embodiment shown is based on... Figure 19 The computer stored in the program storage device 25 shown software The program will send the necessary command signals to... Figure 19 and Figure 20 The control unit 17 shown contains a track generation command control circuit 17G, a conflict statistics command control circuit 17T, and a conflict resolution command control circuit 17R. Furthermore, the program for the mixed-type optimal solution calculation method of the second embodiment can also be saved on a computer-readable recording medium, allowing this recording medium to be read... Figure 19 The program storage device 25 shown. A computer-readable recording medium includes, for example, a computer's external storage device, semiconductor storage, magnetic disk, optical disk, optical disc, magnetic tape, and other media capable of recording programs.
[0231] -Automatic Warehouse-
[0232] If the single-celled amoeba described in the solution exploration system of the first embodiment is used to correspond to the scheduling of a large-scale transport system, the number of variables or constraint rules such as INTRA rules will become enormous, potentially making it unmanageable. In the case of the automated warehouse problem, since the object is a large number of cells arranged in a three-dimensional configuration, the number of variables or constraint rules can become enormous. In the automated warehouse problem, the operation of moving goods into one of a large number of specific warehouses or moving goods out of one of a large number of warehouses is carried out by multiple trolleys ν transported on a common track, responding to constantly updated transport requests. The automated warehouse problem is initially described as a specific example of applying the hybrid optimal solution calculation method of the second embodiment to a social scheduling optimization problem. Therefore, if the hybrid optimal solution calculation method of the second embodiment is applied, even in the case of a large number of variables or constraint rules used to obtain the optimal solution, the increase in hardware resource usage can be suppressed, and the optimal solution can be obtained quickly and efficiently. The term "conflict in the automated warehouse problem" refers to the state where different trolleys ν exist in the same cell (location) at the same time.
[0233] Automated warehouses come in various types, shapes, and sizes. The following example assumes a four-story automated warehouse with 422 cells arranged vertically. Specifically, it is assumed to consist of a cuboid-shaped four-story section and a single-story vehicle preparation zone connected to one of the six faces of the cuboid, i.e., the front floor section. Furthermore, in the following automated warehouse problem, it is assumed that cells 1 to 30 are arranged in the vehicle preparation zone on the first floor. Suppose that along the left side of the cuboid, defined in the direction of looking forward, there exists a first vertically movable zone on the left end of the first floor of the automated warehouse body, where cells 31 to 47 are arranged from front to back.
[0234] On the first floor of the automated warehouse, parallel to the first vertical movement area on the left side of the central section, the second vertical movement area extends from the front to the back. On the first floor of the automated warehouse, parallel to the second vertical movement area on the right side of the central section, the third vertical movement area extends from the front to the back. Along the right side of the cuboid defined in the direction of looking forward, at the right end of the first floor of the automated warehouse body, the fourth vertical movement area extends parallel to the third vertical movement area from the front to the back. The first to fourth vertical movement areas are arranged at almost equal intervals. The second vertical movement area is equipped with grids 99 to 115, the third vertical movement area is equipped with grids 167 to 183, and the fourth vertical movement area is equipped with grids 235 to 251. The parallel movement area between the first and second vertical movement areas is equipped with grids 303 to 307 and 323 to 327. The parallel movement area between the second and third vertical movement areas is configured with grids 343-347 and 364-367. The parallel movement area between the third and fourth vertical movement areas is assumed to be configured with grids 383-387 and 403-407.
[0235] On the left end of the second floor of the automated warehouse, the fifth vertical movement area, equipped with grids 48-64, is configured to be horizontally aligned with the first vertical movement area. On the second floor, on the left side of the central portion parallel to the fifth vertical movement area, the sixth vertical movement area is configured to be horizontally aligned with the second vertical movement area. On the right side of the central portion parallel to the sixth vertical movement area, the seventh vertical movement area is configured to be horizontally aligned with the third vertical movement area. On the right end of the second floor, parallel to the seventh vertical movement area, the eighth vertical movement area extends to be horizontally aligned with the fourth vertical movement area. The sixth vertical movement area is equipped with grids 116-132, the seventh vertical movement area with grids 184-200, and the eighth vertical movement area with grids 252-268. The parallel movement area between the fifth and sixth vertical movement areas is equipped with grids 308-312 and 328-332. The parallel movement area between the 6th and 7th vertical movement areas is configured with grids 348-352 and 368-372. The parallel movement area between the 7th and 8th vertical movement areas is assumed to be configured with grids 388-392 and 408-412.
[0236] On the left end of the 3rd floor of the automated warehouse, the 9th vertical movement area, equipped with grids 65-81, is configured to be horizontally aligned with the 5th vertical movement area. On the left side of the central section parallel to the 9th vertical movement area on the 3rd floor, the 10th vertical movement area is configured to be horizontally aligned with the 6th vertical movement area. On the right side of the central section parallel to the 10th vertical movement area on the 3rd floor, the 11th vertical movement area is configured to be horizontally aligned with the 7th vertical movement area. On the right end of the 3rd floor, parallel to the 11th vertical movement area, the 12th vertical movement area extends to be horizontally aligned with the 8th vertical movement area. The 10th vertical movement area is equipped with grids 133-149, the 11th vertical movement area is equipped with grids 201-217, and the 12th vertical movement area is equipped with grids 269-285. The parallel movement area between the 9th and 10th vertical movement areas is equipped with grids 313-317 and 333-337. The parallel movement area between the 10th and 11th vertical movement areas is configured with grids 353-357 and 373-377. The parallel movement area between the 11th and 12th vertical movement areas is assumed to be configured with grids 393-397 and 413-417.
[0237] On the left end of the 4th floor, which becomes the top level of the automated warehouse, the 13th vertical movement zone, with cells 82-98, will be configured to match the 9th vertical movement zone. On the 4th floor, on the left side of the central part parallel to the 13th vertical movement zone, the 14th vertical movement zone will be configured to match the 10th vertical movement zone. On the 4th floor, on the right side of the central part parallel to the 14th vertical movement zone, the 15th vertical movement zone will be configured to match the 11th vertical movement zone. On the right end of the 4th floor, parallel to the 15th vertical movement zone, the 16th vertical movement zone will extend to match the 12th vertical movement zone. The 14th vertical movement zone has cells 150-166, the 15th vertical movement zone has cells 218-234, and the 16th vertical movement zone has cells 286-302. The parallel movement zone between the 13th and 14th vertical movement zones has cells 318-322 and 338-342. The parallel movement area between the 14th and 15th vertical movement areas is configured with grids 358-362 and 378-382. The parallel movement area between the 15th and 16th vertical movement areas is assumed to be configured with grids 398-402 and 418-422.
[0238] Assuming the aforementioned internal grid configuration of an automated warehouse, regarding the issues related to automated warehouses, firstly, in... Figure 21 In step S201 of the flowchart shown, for Figure 23Each car shown determines its "initial track" by independently taking the shortest path. Figure 23 The vertical axis represents the distinction (number) of the trolleys ν = 1 to 15, and the horizontal axis represents the time axis, which illustrates the 64 stages of the movement (track) position of each trolley ν in a time sequence. The left end of the time axis is time (stage) = zero, and the right end is time (stage) = 64. For example... Figure 23 As shown, each cell is configured according to the initial condition necessary for the analysis that "at time 0, trolley 1 is cell 1 in the trolley allocation preparation area, trolley 2 is cell 2 in the trolley allocation preparation area, and trolley 3 is cell 3 in the trolley allocation preparation area". Furthermore, each cell is configured according to the initial condition of the analysis that "trolley 4 is cell 10 in the trolley allocation preparation area, trolley 5 is cell 11 in the trolley allocation preparation area, trolley 6 is cell 12 in the trolley allocation preparation area, trolley 7 is cell 19 in the trolley allocation preparation area, trolley 8 is cell 20 in the trolley allocation preparation area, and trolley 9 is cell 21 in the trolley allocation preparation area".
[0239] Furthermore, trolley 10 is positioned in grid 28 of the vehicle preparation area, trolley 11 is positioned in grid 29 of the vehicle preparation area, and trolley 12 is positioned in grid 30 of the vehicle preparation area. Further, based on the initial condition that trolley 13 is positioned in grid 7 of the vehicle preparation area, trolley 14 is positioned in grid 16 of the vehicle preparation area, and trolley 15 is positioned in grid 25 of the vehicle preparation area, the "initial track" for the shortest path in step S201 is determined, and the optimal solution where the tracks of each trolley 1 to 15 do not conflict is explored. Then, for the automated warehouse problem calculated using the mixed-type optimal solution of the second embodiment, the exploration conditions are set based on the assumption that trolley 1 will load goods in loading grid 254 on the second floor, and the process ultimately leads to the destination grid 1 on the first floor via a predetermined track through multiple grids. Figure 7A In the example of the automated transport system for trolleys, the "loading grid" and "unloading grid" are respectively set up in the logistics warehouse. However, the automated warehouse body described here is formed equivalent to the case where the destination grid is set up as the unloading grid. The exploration condition is that trolley 2 is set up in loading grid 169 on the first floor, loads goods, and then travels along a predetermined track through multiple grids towards the destination grid 10 on the first floor. The exploration condition is that trolley 3 is set up in loading grid 91 on the fourth floor, loads goods, and then transports goods through multiple grids to the destination grid 19 on the first floor. The exploration condition is that trolley 4 is set up in loading grid 262 on the second floor, and then transports goods through multiple grids to the destination grid 28 on the first floor. The exploration condition is that trolley 5 is set up in loading grid 42, loads goods, and then transports goods through multiple grids to the destination grid 1 on the first floor.
[0240] Furthermore, the exploration conditions are as follows: Cart 6 is set up in loading grid 173 on the first floor, loading goods and transporting them to the target grid 10 on the first floor via multiple grids. Cart 7 is set up in loading grid 67 on the third floor, loading goods and transporting them to the target grid 19 on the first floor via a track through multiple grids. Cart 8 is set up in loading grid 113 on the first floor, loading goods and transporting them to the target grid 28 on the first floor via a track through multiple grids. Cart 9 is set up in loading grid 61 on the second floor, loading goods and transporting them to the target grid 10 on the first floor along a predetermined track. Cart 10 is set up in loading grid 202 on the third floor, loading goods and transporting them to the target grid 10 on the first floor along a predetermined track. Cart 11 is set up in loading grid 261 on the second floor, loading goods and transporting them to the target grid 19 on the first floor along a predetermined track. Cart 12 is set up on the first floor to load goods in loading grid 109 and moves along a predetermined track towards the target grid 28 on the first floor for exploration. Cart 13 is set up on the second floor to load goods in loading grid 266 and moves along a predetermined track towards the target grid 1 on the first floor for exploration.
[0241] The exploration condition is that trolley 14 is set to load goods in loading slot 53 on the 2nd floor and travels along a predetermined track towards target slot 10 on the 1st floor. Then, trolley 15 is set to load goods in loading slot 79 on the 3rd floor and travels along a predetermined track towards target slot 19 on the 1st floor. The optimal solution for exploring the non-conflicting tracks of trolleys 1-15 is determined under each of these exploration conditions. Figure 7A In the example of the automated conveyor system, the "loading cells" and "unloading cells" are set up separately within the logistics warehouse. However, in the automated warehouse described here, all the destination cells are located in the vehicle preparation area on the first floor. The issue arises when transporting goods using 15 trolleys from the inside of the automated warehouse to the vehicle preparation area on the first floor. That is, under these exploration conditions, the goal is to determine the complete operating schedule that avoids conflicts or congestion between trolleys 1-15, and to determine the passage time or dwell time at all points of passage, i.e., the spatial and temporal information of each of trolleys 1-15.
[0242] exist Figure 23 This represents the initial tracks of each car (1-15) displayed as a matrix of car numbers paired with time intervals, resulting in 15 constantly changing tracks (n). v =15) The arrangement of grids 1 to 416 in the track positions of each trolley in the automated warehouse. However, as mentioned above, the automated warehouse problem here is based on the premise that grids 1 to 422 are arranged inside the automated warehouse, therefore it can be known that in Figure 23 The matrix shown represents cells that were not used in the initial orbital setup. For example, in... Figure 23 by The initial track setting, displaying the grid numbers in a surrounding manner, is at time (stage) 10. At grid 171, cart 6 and cart 12 will conflict. Furthermore, the initial track setting is at time (stage) 14, as shown... As indicated by the surrounding diagram, in grid 172, trolley 6 and trolley 12 will conflict. Also, the initial track setting is shown to be at time (stage) 11, in... In the enclosed grid 261, trolley 11 and trolley 15 will conflict.
[0243] Secondly, in Figure 21 In step S202 of the flowchart shown, as follows: Figure 24 As shown, the initial orbits exhibited conflicts with each other. Figure 24 Is with Figure 23 Equivalent, organized in Figure 23 The initial orbitals on the matrix shown are illustrated by their mutual collisions. That is, in Figure 24 The leftmost column (left column) displays... Figure 23 The trolleys shown are numbered ν=1 to 15. Figure 24 The second column from the left displays the number of the opposing car ν' that collides with the car ν shown in the leftmost column. Figure 24 The third column from the left displays... Figure 23 The time (stage) shown, which is the moment when trolley ν and trolley ν' collide, is displayed in the rightmost column. Figure 23 The indicated locations (grids) represent the points where cart ν and cart ν' collide. For example, the top horizontal grid... As indicated by the surrounding designation, regarding trolley 6, Figure 24 It will be displayed Figure 23 At time (stage) 10, in grid 171, there is a conflict between cart 12 and the other cart. Regarding cart 11, in... Figure 23 At the moment (stage) 14 shown, a conflict occurs between grid 261 and trolley 15, caused by... Figure 24 The second horizontal line above As can be seen from the surrounding display. Regarding trolley 12, in Figure 23 The time (stage) shown is 11, and the situation where the collision with the trolley 6 occurs in grid 172 is the third horizontal position from the top. express.
[0244] Secondly, in Figure 21 In step S203 of the flowchart shown, as follows: Figure 25As shown, the track generation unit of control unit 17 commands control circuit 17G to generate k alternative tracks (alternative tracks) that can avoid conflicts for each car ν, and commands control of the operation of first solution exploration operation logic circuit 1A or second solution exploration operation logic circuit 1B. In generating the k alternative tracks, parallel processing of the k amoeba SAT solutions (amoeba SAT-G mode) using a multicellular amoeba is suitable. Because... Figure 25 This is the case where k=5, therefore k×n v =5 × 15 = 75 cases are considered as the generation of fully substitution orbitals including the initial orbital. By performing parallel computation in the SAT-G mode of multicellular amoebas, the necessary computational processing for generating 75 fully substitution orbitals can be performed efficiently in a short time. That is, if the case corresponding to k=5 is set as K=0, 1, 2, 3, 4, then in Figure 25 The vertical axis represents the alternative tracks for each car. ν,K Variables arranged in columns along the vertical axis.
[0245] Specifically, starting from the top of the vertical axis, the variable x... 1,0 , x 1,1 , x 1,2 , x 1,3 , x 1,4 This represents a pair of alternative tracks for trolley 1 (ν=1). The variable x represents a pair of alternative tracks for trolley 2 (ν=2) that should be arranged along the vertical axis. 2,0 , x 2,1 , x 2,2 , x 2,3 , x 2,4 The diagram is omitted, and it is determined by the variable x. ν,0 , x ν,1 , x ν,2 , x ν,3 , x ν,4 This represents a pair of alternative tracks for the trolley ν, arranged along the vertical axis. Since it's difficult to display all 75 tracks on the vertical axis, they are indicated below the vertical axis by x. 6,0 , x 6,1 , ……, x 11,0 , x 11,1 , ……, x 12,0 , x 12,1 , ……, x 15,0 , x 15,1 Examples are given by omitting a portion of a pair of alternative orbitals, such as , , , etc.
[0246] Figure 25 The horizontal axis represents the relationship between... Figure 23 The horizontal axis is also used to illustrate the relationship in the alternative orbit x.ν,K The individual trolleys ν are shown at 68 stages of time, with their positions on the track varying in a time series. Figure 25 The left end represents time (stage) = zero, and the right end represents time (stage) = 68. This corresponds to... Figure 23 The initial track of the trolley 15 x 15,0 It is up to stage 64, but the corresponding replacement track x for trolley 15. 15,1 This is stage 68. That is, in... Figure 25 Alternate orbital x ν,K In the matrix display of time, it is shown as a k×n matrix that changes every moment. v =The configuration of grids 1 to 416 for the track positions in the automated warehouse of 75 types of trolleys.
[0247] Secondly, in Figure 21 In step S204 of the flowchart shown, the conflict statistics unit command control circuit 17T commands the operation of either the first solution exploration operation logic circuit 1A or the second solution exploration operation logic circuit 1B in a manner that detects the presence or absence of conflict in all pairs of alternative tracks including the initial track. The presence or absence of conflict detected by the conflict statistics unit command control circuit 17T is... Figure 26 The cells in the conflict rows and columns shown display a value of zero or 1, tabulating the presence or absence of conflicts. Figure 26 It corresponds to Figure 25 A 75x75 collision row. That is, Figure 26 The vertical axis is the same as Figure 25 Similarly, the alternative tracks x for each car ν,K As variables arranged on the vertical axis. Originally Figure 26 The vertical axis should be derived from the variable x. 1,0 , x 1,1 , x 1,2 , x 1,3 , x 1,4 Let x represent a pair of alternative tracks for trolley 1, and let x represent a pair of alternative tracks for trolley 2. 2,0 ,x 2,1 , x 2,2 , x 2,3 , x 2,4 However, it is difficult to display all 75 types on the vertical axis.
[0248] Therefore, in Figure 26 The vertical axis is based on x 1,0 , ……, x 1,k , ……, x 1,K-1 , ……, x ν’,k’ , ……,x 15,0 , ……, x 15,k ,……, x15,K-1 Examples will be given using the omitted forms. On the other hand, Figure 26 The horizontal axis is the alternative track for each car, arranged in the same way as the vertical axis, to form conflict rows. ν,K As variables arranged on the horizontal axis. Originally, the axis should have started from the left, with the variable x... 1,0 , x 1,1 , x 1,2 , x 1,3 , x 1,4 This indicates a pair of alternative tracks for trolley 1, and then the variable x for a pair of alternative tracks for trolley 2 should be displayed. 2,0 , x 2,1 , x 2,2 , x 2,3 , x 2,4 However, it's difficult to display all 75 types on the horizontal axis. Therefore, in Figure 26 The horizontal axis is based on x 1,0 , ……, x 1,k , ……, x 1,K-1 , ……,x ν,k , ……, x 15,0 , ……, x 15,k , ……, x 15,K-1 Examples will be given using the omitted forms. Figure 26 In a collision row / column, the number 0 indicates a collision-free situation, while the number 1 indicates a collision. For example, in... Figure 26 At the center of the conflict The surrounding indicates that, Figure 26 It is an alternative track to the trolley ν. ν,k Alternative track x to trolley ν' ν’,k’ There will be a conflict.
[0249] Secondly, in Figure 21 In step S205 of the flowchart shown, the conflict resolution unit commands the control circuit 17R to... Figure 26 Information about conflicting columns, such as Figure 27 As shown, the method of exploring alternative track combinations that can resolve conflicts is controlled by commands to control the operation of the first solution exploration operation logic circuit 1A or the second solution exploration operation logic circuit 1B. Figure 27 The vertical axis is the alternative track x for each car that can resolve conflicts. ν,K That is, in Figure 27 The vertical axis is displayed sequentially from top to bottom. 1,0 , x 2,0 , x 3,0 , x 4,0 , x 5,0 ,x 6,1, x 7,0 , x 8,0 , x 9,0 , x 10,0 , x 11,0 , x 12,0 , x 13,0 , x 14,0 , x 12,1 This can be seen as a combination of alternative tracks that can resolve conflicts. Figure 27 At time (stage) 0, all trolleys ν=1 to 15 are stored in any one of the grids 1 to 30 in the vehicle preparation area on the first floor of the automated warehouse.
[0250] It is known that trolley 1 moved to cell 31 in the first vertical movement area at time (stage) 3, to cell 48 in the fifth vertical movement area at time 4, to cell 65 in the ninth vertical movement area at time 5, and to cell 313 in the horizontal movement area of the third floor at time 6. On the other hand, it is known that trolley 2 moved to cell 31 in the first vertical movement area at time 2, to cell 48 in the fifth vertical movement area at time 3, to cell 65 in the ninth vertical movement area at time 4, and to cell 313 in the horizontal movement area of the third floor at time 5. At time (stage) 17, trolley 1 was located in cell 254 in the eighth vertical movement area on the right side of the second floor. Since cell 254 was the initially set loading cell, it remained stationary for six stages from time 17 to 22. Furthermore, trolley 2 was located in cell 169 in the third vertical movement area on the right side of the center of the first floor at time 17. Since grid 169 was originally the loading grid for trolley 2, we can know the time spent in stage 6 from time 14 to 19.
[0251] Furthermore, at time 17, trolley 3 is located in cell 93 of the 13th vertical movement area on the left end of the 4th floor of the automated warehouse; trolley 4 is located in cell 259 of the 8th vertical movement area on the right end of the 2nd floor; and trolley 5 is located in cell 41 of the 1st vertical movement area on the left end of the 1st floor. Trolley 6 is located in cell 173 of the 3rd vertical movement area on the right side of the center of the 1st floor at time 17. Since cell 173 was also the originally designated loading cell for trolley 6, the dwell time for stage 6 from time 13 to 18 can be determined. Also, trolley 7 is located in cell 67 of the 9th vertical movement area on the left end of the 3rd floor at time 17. Since cell 67 was also the originally designated loading cell for trolley 7, the dwell time for stage 6 from time 13 to 18 can be determined. At time 17, trolley 8 is located in cell 182 of the 3rd vertical movement area on the right side of the center of the 1st floor.
[0252] Also, in Figure 27At time 17, trolley 9 is in cell 183 of the 3rd vertical movement area on the right side of the center on the 1st floor of the automated warehouse, and trolley 10 is in cell 205 of the 11th vertical movement area on the right side of the center on the 3rd floor. At time 17, trolley 11 is in cell 261 of the 8th vertical movement area on the right end of the 2nd floor. Since cell 261 is also the loading cell of trolley 11 originally set, the time spent in the 6-stage period from time 12 to 17 can be determined. At time 17, trolley 12 is in cell 178 of the 3rd vertical movement area on the right side of the center on the 1st floor, trolley 13 is in cell 126 of the 6th vertical movement area on the left side of the center on the 2nd floor, trolley 14 is in cell 330 of the parallel movement area on the left side of the center on the 2nd floor, and trolley 15 is in cell 260 of the parallel movement area on the right end of the 2nd floor. Therefore, at time 17, they do not conflict with each other.
[0253] exist Figure 27 At time (stage) 41, it can be seen that trolleys 2, 6, 10, and 14 have reached empty squares, already in the initially designated target squares, and the operation is complete. Then, if the investigation is listed in... Figure 27 By examining the cells in the column at time 41, we can see that trolley 5 arrived at its initially designated destination cell, cell 1. Similarly, we can see that trolley 11 arrived at its destination cell, cell 19, at time 41. Furthermore, by examining the cells listed in the column at time 41, we can see that trolley 1 was located in cell 3, and trolley 4 was located in cell 30, both moving towards their final destination cell and nearing completion of their work. Trolley 1 arrived at its destination cell, cell 1, at time 43, and trolley 4 also arrived at its destination cell, cell 28, at time 43. Trolley 8 in the column at time 41 was located in cell 405 in the parallel movement area on the right side of the first floor of the four-story automated warehouse. Trolley 8 arrived at its destination cell, cell 28, at time 53.
[0254] At time 41, trolley 9 is cell 52, the 5th vertical movement area on the left end of the 2nd floor. Trolley 9 reaches cell 1, the destination cell, at time 49. Trolley 12 is cell 238, the 4th vertical movement area on the right end of the 1st floor, at time 41. Trolley 12 reaches cell 28, the destination cell, at time 47. At time 41, trolley 13 is cell 194, the vertical movement area on the right side of the center of the 2nd floor. Trolley 13 reaches cell 1, the destination cell, at time 61. At time 41, trolley 15 is cell 61, the 5th vertical movement area on the left end of the 2nd floor. Trolley 15 reaches cell 19, the destination cell, at time 67. (The list continues...) Figure 27 There are no conflicts in any of the cells in the column showing time 41. Figure 21 The result of the combination of alternative orbitals in step S205 determines Figure 27 The trajectory shown is determined in step S206 to be if according to Figure 27The indicated orbital path can be combined with alternative orbital paths that can resolve the conflict. Figure 27 The trajectory shown is the optimal solution and is displayed (output) in step S207.
[0255] In step S206, when the conflict resolution unit commands the control circuit 17R to determine from the processing of the first solution exploration operation logic circuit 1A or the second solution exploration operation logic circuit 1B that there is no combination of alternative tracks that can resolve the conflict, it commands the operation of the first solution exploration operation logic circuit 1A or the second solution exploration operation logic circuit 1B in a loop of repeating steps S206→S208→S205. For example, using the amoeba SAT-R function of the first solution exploration operation logic circuit 1A, the exploration is repeated until a combination of alternative tracks that can resolve the conflict (the optimal solution) is found. When the number of explorations reaches the upper limit, through the loop processing of steps S206→S208→S209→S204, the multicellular amoeba generates a new combination of alternative tracks that can resolve the conflict.
[0256] This result allows us to calculate the operating schedule for all trolleys in a four-story automated warehouse, avoiding conflicts or congestion between trolleys 1-15. As mentioned above, even with grid number i... max =422, Number of carts ν max For automated warehouses with a grid number of 15, the optimal solution for the track can be solved efficiently and quickly using the hybrid optimal solution calculation method of the second implementation method. Furthermore, even if the number of grid cells is i... max =800 or above, number of carts ν max For a scale of 100 or higher, the number of variables is approximately 10. 6 More than 10 INTRA rules are approximately 10. 10 For more than one such automated warehouse problem, a solution close to the "optimal solution of the track" can be solved efficiently in a short time.
[0257] (Other implementation methods)
[0258] As described above, the present invention is based on the first and second embodiments, but the descriptions and drawings that form part of the content shown should not be construed as limiting the invention. Those skilled in the art will learn from the description various alternatives to the first embodiment, examples, and techniques. For example, in the first embodiment described above, each process (function) can be implemented centrally by a single device (system), or it can be implemented decentralizedly by multiple devices. However, decentralized processing by multiple devices is preferable, for example, when different delays can be easily added between devices or the occurrence of different delays can be probabilistically anticipated. Furthermore, when central processing is performed with a single device, controls such as adding different delays or probabilistically anticipating the occurrence of different delays can also be implemented.
[0259] The second embodiment is described Figure 22 The fourth mode is a mode in which neither party uses an amoeba computer in steps S205-206 and steps S203, 209. If the purpose is only to perform actions in the fourth mode, it can also be set to... Figure 19 The hybrid solution exploration system shown is a single-function solution exploration system that excludes the first solution exploration operation logic circuit 1A and only includes the second solution exploration operation logic circuit 1B. Furthermore, the implementation described in the second embodiment will not be repeated. Figure 22 When performing actions in modes 2 through 4, it can also be set to start from... Figure 19 The hybrid solution exploration system shown is a single-function solution exploration system consisting only of the first solution exploration operational logic circuit 1A, excluding the second solution exploration operational logic circuit 1B. Therefore, the present invention is not limited to the descriptions of the first and second embodiments described above, and various modifications are possible, all of which are included within the scope of the present invention. Thus, the technical scope of the present invention is determined from the above description based on the specific inventive aspects of the appropriate patent claims.
[0260] Symbol Explanation
[0261] 1: Central Processing Unit (CPU)
[0262] 1A: Solution 1: Exploring the operational logic circuit
[0263] 1B: Solution 2 explores the operational logic circuit
[0264] 11-1, 11-2, ..., 11-i: Data generation units
[0265] 12-1, 12-2, ..., 12-i: Data conversion unit
[0266] 13: Feedback Control Unit
[0267] 14: Output Adjustment Unit
[0268] 14': Output adjustment signal processing unit
[0269] 16: Change setting unit
[0270] 17G: Orbit Generator (Generation Unit)
[0271] 17T: Conflict Tabulation Tool (Statistics Department)
[0272] 17R: Conflict resolver (de-conflict unit).
Claims
1. A solution exploration system, characterized in that, have: The output adjustment unit has: a signal adjustment circuit that sets N to a positive integer greater than 2 and outputs N signals by converting the temporarily determined output adjustment signals into formally determined output adjustment signals; 2N data generation units are configured for each group of the signal adjustment circuit to generate binary data to receive a group of output adjustment signals that have been formally determined. 2N data conversion units read the data generated by the data generation unit and convert it into information; The variable setting unit supplies independent deviation probabilities to each of the signal adjustment circuits, independent variable probabilities to each of the data generation units, and independent threshold values to each of the data conversion units, setting the occurrence frequency of the data generated by the data generation units to be non-uniform, so that the occurrence frequency of a specific variable becomes a value different from the occurrence frequency of other variables. and The feedback control unit determines whether an optimal solution has been obtained based on the information converted by the data conversion unit and the pre-input exploration problem information. If the optimal solution has not been obtained, the unit repeatedly controls the output adjustment signal to be output to the output adjustment unit. The signal adjustment circuit uses the deviation probability to convert the temporarily determined output adjustment signal into the officially determined output adjustment signal. The data generation unit uses the officially determined output adjustment signal and the change probability to generate the data. The data conversion unit uses the data and the critical value to generate the information. The optimal solution to the SAT problem, expressed as a set of constraints in multiple meanings and a logical AND of the constraints, is obtained from the information.
2. The solution exploration system according to claim 1, wherein, The data conversion units corresponding to the data generation unit are connected one-to-one to form 2N serial connection groups. Each component of the series connection group comprises: a series circuit including passive and nonlinear elements, and a pseudo-foot unit for connecting the series circuit to a grounded parallel circuit at ground potential. The amoeba core is formed by the collection of these pseudopodia. The grounding parallel circuit has the following characteristics: Charge storage components connected in series to the series circuit; and A discharge control circuit is connected in parallel to the charge storage component to discharge the charge stored in the charge storage component.
3. The solution exploration system according to claim 2, wherein, The discharge control circuit includes a first switching element and a second switching element that are connected in parallel to the charge storage component.
4. The solution exploration system according to claim 3, wherein, One end of the series circuits constituting each of the pseudofoot units is connected to each other at the central hub, and the other end of the series circuits extends radially, thereby defining 2N output terminals, and the 2N pseudofoot units constitute a star network.
5. The solution exploration system according to claim 4, wherein, The inverted signal of the output adjustment signal is supplied to the control electrode of each of the first switching elements.
6. The solution exploration system according to claim 5, wherein, A two-input NOR gate is provided between a pair of adjacent output terminals. The outputs of each of the N two-input NOR gates are input to the control electrode of the corresponding second switching element.
7. The solution exploration system according to claim 2, wherein, The device has a multicellular amoeba structure, wherein the multicellular amoeba structure comprises an arithmetic logic operation circuit with the amoeba core and a variable setting unit, the variable setting unit supplying variable probabilities to each of the data generation units contained in the amoeba core, and the multiple arithmetic logic operation circuits are arranged in parallel.
8. The solution exploration system according to claim 2, wherein, The system incorporates a multicellular amoeba structure as an orbital generation arithmetic logic circuit. This multicellular amoeba structure uses the amoeba core and a variable setting unit to form the arithmetic logic circuit. The variable setting unit supplies variable probabilities to each of the data generation units contained in the amoeba core. Multiple such arithmetic logic circuits are arranged in parallel. By performing parallel computation based on the multicellular amoeba construction, multiple matrices are generated, and these multiple matrices are set as multiple alternative orbitals. The matrix is composed of multiple variables arranged on the vertical axis and states that change in time series of the multiple variables arranged on the horizontal axis.
9. The solution exploration system according to claim 8, wherein, The solution exploration system also includes a conflict statistics command control circuit, which tabulates the presence or absence of conflict based on analytical conditions for each of the various alternative trajectories.
10. The solution exploration system according to claim 9, wherein, The solution exploration system also includes a conflict resolution command control circuit, which explores new alternative tracks for conflict resolution after being tabulated by the conflict statistics command control circuit.
11. A solution exploration method, characterized in that, include: The step of independently supplying information on the probability of change from external input to each of multiple data generation units; The step of independently supplying information on the deviation probability from external input to each of the plurality of signal conditioning circuits configured corresponding to each of the plurality of data generation units; The step of independently supplying information about externally input threshold values to each of the plurality of data conversion units; The step of inputting multiple temporarily determined output adjustment signals to the multiple signal adjustment circuits respectively; The steps include: using the deviation probability, converting the input of the multiple temporarily determined output adjustment signals into the value of the officially determined output adjustment signal for each of the multiple signal adjustment circuits, and inputting the officially determined output adjustment signal to each of the multiple data generation units; Each of the plurality of data generation units generates non-uniform data from the variation probability and the output adjustment signal of the formal decision, and sets the occurrence frequency of a specific variable output by the plurality of data generation units to a value different from the occurrence frequency of other variables. The step of having multiple data conversion units of the same number as the multiple data generation units read the data generated by the multiple data generation units and convert it into information; Based on the information converted by the multiple data conversion units and the pre-input exploration problem information, it is determined whether an optimal solution has been obtained. If the optimal solution has not been obtained, the process of repeatedly sending the output adjustment signal of the formal decision to each of the multiple data generation units is controlled. Obtain the optimal solution to the SAT problem expressed as a set of constraints with multiple meanings and a logical AND of those constraints.
12. The solution exploration method according to claim 11, wherein, When the information of the exploration problem is represented by a propositional logic expression consisting of multiple variables, we prepare to include one of the variables, y. i Defined as a program variable, and possessing a conditional meaning form if y i =b and x j =b'then x k =b'' is a single instance where b is "0" or "1", by using the program variable y i The value is fixed at "0" or "1" to switch between validating and invalidating the constraints of the propositional logic expression. When it becomes a program variable y i When =b, the premise of the constraint is true, which makes it "if x j =b'then x k Make the constraint "=b''" valid. When it becomes a program variable y i When =1-b, the premise of the constraint becomes false, thus invalidating the constraint that makes the premise false.
13. A program product, characterized in that, The solution includes a solution exploration program that executes a series of commands on a computer to obtain the optimal solution to an SAT problem expressed as a set of constraints with multiple meanings and a logical AND of those constraints. In the variable setting unit, commands are given to independently supply variable probability information input from the outside to each of the multiple data generation units. In the variable setting unit, commands are given to each of the multiple signal adjustment circuits configured corresponding to each of the multiple data generation units, independently supplying information on the deviation probability input from the outside. In the variable setting unit, commands are independently supplied to each of the plurality of data conversion units with information on threshold values input from the outside. In the output adjustment unit, commands are given to input multiple temporarily determined output adjustment signals to the multiple signal adjustment circuits respectively; In each of the plurality of signal adjustment circuits, the deviation probability is used to convert the input plurality of temporarily determined output adjustment signals to the value of the formally determined output adjustment signal, and the formally determined output adjustment signal is input to the command of each of the plurality of data generation units. In each of the plurality of data generation units, non-uniform data is generated from the output adjustment signal of the variation probability and the formal decision, and commands are output from each of the plurality of data generation units to make the occurrence frequency of a specific variable different from the occurrence frequency of other variables. For a plurality of data conversion units that are the same number as the plurality of data generation units, a command is given to read the data generated by the plurality of data generation units respectively and to convert the read data into information. For the feedback control unit, it determines whether an optimal solution has been obtained based on the information converted by the plurality of data conversion units and the pre-input exploration problem information. When the optimal solution has not been obtained, it sends a control command to perform the action of repeatedly sending the output adjustment signal of the formal decision to each of the plurality of data generation units.