Solution search system, solution search method, and solution search program

By converting the problem into SAT problem and using the non-uniform oscillation method to simulate the oscillation behavior of the biological body, the computational complexity and example adaptability problems of the SAT problem are solved, and a fast and efficient solution is achieved.

JP7627453B2Active Publication Date: 2025-02-06AMOEBA ENERGY CO LTD +1
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
JP2021073972
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2020-11-05
Filing Date
2021-04-26
Publication Date
2025-02-06
Estimated Expiration
2041-04-26

AI Technical Summary

Technical Problem

When solving SAT problems, the existing technology increases in the scale of the problem and has high computational complexity, requires a lot of computing resources and time, and it is difficult to quickly and efficiently deal with various real-world combination optimization problems, especially traditional non-uniform oscillation methods require changing the hardware circuit when facing different instances.

Method used

By using the non-uniform oscillation method, by converting the problem into a SAT problem, using the signal adjustment unit and the data generation unit to generate non-uniform data, combined with the feedback control unit to optimize the solution process, the biological oscillation behavior simulates the electronic circuit for rapid search.

Benefits of technology

It realizes the rapid and efficient solution of SAT problems and combination optimization problems of different instances without changing the hardware circuit, simplifying the algorithm and improving the solution efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007627453000001
    Figure 0007627453000001
  • Figure 0007627453000002
    Figure 0007627453000002
  • Figure 0007627453000003
    Figure 0007627453000003
Patent Text Reader

Abstract

To search for the optimal solution of an optimization task rapidly and efficiently by a simple optimization algorithm.SOLUTION: The solution search system includes: a plurality of data generation units (11-1 to 11-i); a fluctuation setting unit 16 for unevenly setting the frequency of appearance of data generated by the data generation units by supplying a fluctuation probability to the data generation units, and making the frequency of appearance of a specific variable different from the frequency of appearance of another variable; a plurality of data conversion units (12-1 to 12-i) for reading the data generated by the data generation units and converting the data into information; an output adjusting unit 14 for sending, to the data generation units, an output adjusting signal, or an output adjusting signal and the value of a fluctuation probability; and a feedback control unit 13 for repeatedly controlling an operation of sending an output adjusting signal, or an output adjusting signal and the value of a fluctuation probability, to the data generation units when the optimal solution has not been obtained.SELECTED DRAWING: Figure 2
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present invention relates to a solution search system, solution search method, and solution search program that utilizes stochastic behavior resulting from "device fluctuations" inspired by the fluctuation behavior of living organisms to quickly and efficiently search for solutions to problems that search for optimal solutions for various scheduling and combinations, and in particular to a solution search system that utilizes non-uniform fluctuations, a solution search method that uses this solution search system, and a solution search program that realizes this solution search method by a computer system. [Background technology]

[0002] In scheduling and the like, the Boolean Satisfiability Problem (SAT problem) is known as a problem for searching for a solution that satisfies given constraint conditions, which searches for a combination of truth values ​​of variables that can make a given propositional logical formula "true". As prior art related to the SAT problem, SAT solving programs and fault diagnosis programs have been proposed (see Patent Document 1, etc.). Solution search systems for solving SAT problems will be extremely important in the future information society, but as the problem size increases, the number of solution candidates grows exponentially with respect to the problem size. Since the SAT problem has extremely high computational complexity, as the problem size of the SAT problem increases, a large amount of computational resources and time are required.

[0003] The invention described in Patent Document 1 does not propose a method for searching for a solution to a given SAT problem more quickly and efficiently. In recent years, as the amount of information continues to increase, there is a social demand for quickly and efficiently finding solutions to SAT problems from large amounts of information. Therefore, a solution search system for quickly and efficiently solving SAT problems has been proposed (see Patent Document 2).

[0004] However, the invention described in Patent Document 2 provides a solution search method that imparts two types of uniform fluctuations to data by using an internal structure when solving an SAT problem, and does not consider various combinatorial optimization problems that appear in the real world, which include diverse and huge required specifications. For example, in a transportation system using automatic guided vehicles in a logistics warehouse, a "scheduling problem" is faced in which hundreds of guided vehicles are transported efficiently while responding to complex transport requests that are updated every time. In the solution search method that imparts two types of uniform fluctuations by using an internal structure as described in Patent Document 2, when dealing with a scheduling problem involving hundreds of guided vehicles, the algorithm becomes complicated and it is necessary to change the circuit every time the problem instance changes. Therefore, the invention described in Patent Document 2 that imparts uniform fluctuations by using an internal structure is inconvenient as a technology for solving various combinatorial optimization problem instances in the real world. An "instance" refers to an instance in which specific values ​​are set for all parameters of a problem. [Prior art documents] [Patent documents]

[0005] [Patent Document 1] JP 2012-003733 A [Patent Document 2] Patent No. 6011928 Summary of the Invention [Problem to be solved by the invention]

[0006] The present invention has been devised in consideration of the above-mentioned problems, and its purpose is to provide a solution search system that can solve SAT problems quickly and efficiently without complicating the algorithm and using the same circuit for different instances when various real-world scheduling problems are formulated as SAT problems, a solution search method using this solution search system, and a solution search program that realizes this solution search method by a computer system. [Means for solving the problem]

[0007] In order to achieve the above object, a first aspect of the present invention includes: (a) an output conditioning unit having N signal conditioning circuits, where N is a positive integer of 2 or more, for converting each provisionally determined output adjustment signal into a final output adjustment signal and outputting the converted signal; (b) 2N data generation units that are respectively disposed with respect to the set of signal conditioning circuits so as to receive the set of final output adjustment signals and generate binary data; (c) 2N data conversion units that read the data generated by each of the data generation units and convert it into information; and (d) a bias probability supplying each of the signal conditioning circuits with an independent bias probability, and a data conversion unit that converts the data generated by the data generation units into information. The present invention provides a solution search system including: (a) a fluctuation setting unit that supplies independent fluctuation probabilities to each of the data conversion units, supplies independent thresholds to each of the data conversion units, non-uniformly sets the occurrence frequency of data generated by each of the data generation units, and sets the occurrence frequency of a specific variable to a value different from the occurrence frequency of other variables; and (e) a feedback control unit that determines whether an optimal solution has been obtained based on the information converted by the data conversion unit and the search problem information input in advance, and if an optimal solution has not been obtained, repeatedly controls the operation of causing the output adjustment unit to output an output adjustment signal of final decision. According to the solution search system according to the first aspect of the present invention, the signal adjustment circuit converts each of the provisionally determined output adjustment signals into a final output adjustment signal using the bias probability, the data generation unit generates data using the output adjustment signal of final decision and the fluctuation probability, and the data conversion unit generates information using the data and the threshold, and an optimal solution to a SAT problem expressed by a plurality of constraint conditions in implication form and the logical product of these constraint conditions can be obtained from the generated information.

[0008] A second aspect of the present invention includes a step of (a) independently supplying fluctuation probability information input from the outside to each of a plurality of data generating units, (b) independently supplying bias probability information input from the outside to each of a plurality of signal adjustment circuits arranged corresponding to each of the plurality of data generating units, (c) independently supplying threshold value information input from the outside to each of a plurality of data conversion units, (d) inputting a plurality of provisionally determined output adjustment signals to a plurality of signal adjustment circuits, respectively, and (e) using the bias probability, each of the plurality of signal adjustment circuits converts the inputted provisionally determined output adjustment signals into values ​​of finally determined output adjustment signals, and inputs the finally determined output adjustment signals to each of the plurality of data generating units. The present invention provides a solution search method including the steps of: (f) each of the plurality of data generating units generating non-uniform data from the fluctuation probability and the determined output adjustment signal, and changing the occurrence frequency of a specific variable output by each of the plurality of data generating units to a value different from the occurrence frequency of other variables; (g) a plurality of data conversion units, the same number as the plurality of data generating units, reading the data generated by each of the data generating units and converting it into information; and (h) determining whether an optimal solution has been obtained based on the information converted by the plurality of data conversion units and previously input search problem information, and if an optimal solution has not been obtained, controlling a process of repeating an operation of transmitting the determined output adjustment signal to each of the plurality of data generating units. According to the solution search method according to the second aspect of the present invention, an optimal solution to a SAT problem expressed by a plurality of constraint conditions in implication form and a logical product of the constraint conditions can be obtained.

[0009] A computer software program for realizing the solution search method described in the second aspect of the present invention can be stored in a computer-readable recording medium, and executed by the computer system when the recording medium is read into the computer system described in the first aspect. That is, the third aspect of the present invention includes: (a) an instruction to cause the fluctuation setting unit to independently supply fluctuation probability information input from the outside to each of the multiple data generating units; (b) an instruction to cause the fluctuation setting unit to independently supply bias probability information input from the outside to each of the multiple signal adjustment circuits arranged corresponding to each of the multiple data generating units; (c) an instruction to cause the fluctuation setting unit to independently supply threshold value information input from the outside to each of the multiple data conversion units; (d) an instruction to cause the output adjustment unit to input multiple provisional output adjustment signals to the multiple signal adjustment circuits, respectively; and (e) an instruction to cause each of the multiple signal adjustment circuits to convert the input multiple provisional output adjustment signals to values ​​of final output adjustment signals using bias probabilities, and input the final output adjustment signals to each of the multiple data generating units. (f) an instruction to cause each of the plurality of data generating units to generate non-uniform data from the fluctuation probability and the determined output adjustment signal, and to cause each of the plurality of data generating units to output a value in which the occurrence frequency of a specific variable is different from the occurrence frequency of other variables, (g) an instruction to cause a plurality of data conversion units, the same number as the plurality of data generating units, to read the data generated by the data generating units and convert the read data into information, and (h) an instruction to cause a feedback control unit to determine whether an optimal solution has been obtained based on the information converted by the plurality of data conversion units and previously input search problem information, and if an optimal solution has not been obtained, to control a process of repeating an operation of transmitting the determined output adjustment signal to each of the plurality of data generating units. According to the solution search program of the third aspect of the present invention, an optimal solution to a SAT problem expressed by a plurality of constraint conditions in implication form and a logical product of the constraint conditions can be obtained.As a recording medium for recording the solution search program according to the third aspect of the present invention, various recording media capable of recording a program can be used, such as an external memory device of a computer, a semiconductor memory, a magnetic disk, an optical disk, a magneto-optical disk, and a magnetic tape. Effect of the Invention

[0010] According to the present invention, when various real-world scheduling problems are formulated as SAT problems, it is possible to provide a solution search system that can solve SAT problems quickly and efficiently for different instances using the same circuit without complicating the algorithm, a solution search method using this solution search system, and a solution search program that realizes this solution search method using a computer system. [Brief description of the drawings]

[0011] [Figure 1] FIG. 1 is a diagram showing an overall view of a combinatorial optimization problem according to a first embodiment of the present invention. [Diagram 2] 1 is a diagram showing an overall configuration of a solution search system according to a first embodiment. [Diagram 3] 11 is a diagram illustrating control of output data from a data generating unit by transmitting an output adjustment signal. FIG. [Figure 4] 13 is another diagram illustrating control of output data from the data generating unit by transmitting an output adjustment signal. FIG. [Diagram 5] FIG. 2 is a diagram showing an example of a propositional formula that results in a logical product of a Boolean expression being 1 ("true"). [Figure 6] FIG. 6(a) is a diagram showing another example of a propositional logic formula, and FIG. 6(b) is an equation explaining that the propositional logic formula shown in FIG. 6(a) is expressed as a logical product of constraints in implication form. [Figure 7A] FIG. 13 is a diagram showing an example of a movement path of a cart in a logistics warehouse when optimization of an automatic transport system is taken up as a combinatorial optimization problem. [Figure 7B] FIG. 13 is a diagram showing an example of a trajectory that satisfies a transportation request. [Figure 8A] FIG. 2 is a diagram showing an example of a highly optimal solution (trajectory) obtained when using a non-uniform SAT problem algorithm according to the first embodiment. [Figure 8B] FIG. 1 is a diagram showing an example of a less optimal solution (trajectory) obtained when using a conventional algorithm. [Figure 9] FIG. 2 is a diagram illustrating a case where assignment of a value to one variable is expressed by two data conversion units in the solution search system according to the first embodiment. [Figure 10] For comparison, this is a diagram illustrating the technique of adding two types of uniform fluctuation based on spatial correlation, which is described in Patent Document 2. [Figure 11] FIG. 2 is a diagram showing an example of a circuit of an electronic amoeba as one specific example configuration of the solution search system according to the first embodiment. [Figure 12] FIG. 12(a) shows another example of a propositional logic formula, and FIG. 12(b) shows an equation explaining that the propositional logic formula shown in FIG. 12(a) is expressed as a logical product of constraints in implication form, but that part of the equation shown in FIG. 6(b) is omitted. [Figure 13] FIG. 13 shows an example of solving different problem instances with the same circuit by changing program variables. [Figure 14] FIG. 13 illustrates a case where a program variable is fixed. [Figure 15] FIG. 15(a) explains the “INTRA rules” of the propositional logic formula shown in FIG. 5, FIG. 15(b) explains the “INTER rules” of the propositional logic formula shown in FIG. 5, and FIG. 15(c) explains the “CONTRA rules” of the propositional logic formula shown in FIG. 5. [Figure 16] 4 is a flowchart illustrating a processing flow of a solution searching method and a solution searching program according to the first embodiment. [Figure 17] FIG. 1 is a diagram illustrating a case where the assignment of a value to one variable is expressed by two data conversion units in a conventional technique that requires a contra rule. [Figure 18]FIG. 1 shows an example of a circuit configuration of a conventional electronic amoeba that requires application of the Contra rule. [Figure 19] FIG. 11 is a diagram showing the overall configuration of a hybrid type optimal solution calculation system according to a second embodiment of the present invention. [Figure 20] FIG. 11 is a diagram showing components provided in a control unit of a hybrid type optimal solution calculation system according to a second embodiment. [Figure 21] 13 is a flowchart illustrating a process flow in a hybrid type optimum solution calculation method or an optimum solution calculation program for executing the hybrid type optimum solution calculation method according to the second embodiment. [Figure 22] FIG. 13 is a diagram showing possible combinations of a search system (solution method) used by a conflict resolution solution search calculation circuit when searching for a combination of alternative trajectories (optimal solution) that can resolve a conflict, and a search system (solution method) used by a trajectory generation unit when generating a new alternative trajectory to replace k types of alternative trajectories. [Figure 23] FIG. 22 is a diagram showing a specific example of an initial trajectory determined in step S201 of the flowchart shown in FIG. 21 in an example of application of the hybrid optimal solution calculation method according to the second embodiment to a multi-level warehouse problem. [Figure 24] FIG. 22 is a diagram showing a specific example of a conflict between initial trajectories listed in step S202 of the flowchart shown in FIG. 21 in an example of application of the hybrid optimal solution calculation method according to the second embodiment to a multi-level warehouse problem. [Diagram 25] FIG. 22 is a diagram showing a specific example of k types of alternative trajectories generated in step S203 of the flowchart shown in FIG. 21 in an example of application of the hybrid optimal solution calculation method according to the second embodiment to a multi-level warehouse problem. [Figure 26] FIG. 22 is a diagram showing a specific example of the presence or absence of conflicts for all pairs of alternative trajectories tabulated in step S204 of the flowchart shown in FIG. 21 in an example of application of the hybrid optimal solution calculation method according to the second embodiment to a multi-level warehouse problem. [Figure 27]FIG. 22 is a diagram showing a specific example of a combination (solution) of non-conflicting alternative trajectories obtained by the search in step S205 of the flowchart shown in FIG. 21 in an example of application of the hybrid optimal solution calculation method according to the second embodiment to a multi-level warehouse problem. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0012] For the convenience of explaining the present invention, first and second embodiments are illustrated and will be described by way of example with reference to the drawings. In the following description of the drawings, the same or similar parts are given the same or similar reference numerals. However, it should be noted that the drawings are schematic, and the relationship between thickness and planar dimensions, the ratio of the size of each member, etc., differ from the actual ones. Therefore, the specific thickness, dimensions, size, etc. should be determined more diversified, taking into consideration the gist of the technical idea that can be understood from the following description. In addition, it goes without saying that the drawings include parts with different dimensional relationships and ratios.

[0013] The first and second embodiments described below are merely examples of a method for embodying the technical idea of ​​the present invention and an apparatus used in the method, and the technical idea of ​​the present invention does not specify the materials, shapes, structures, arrangements, etc. of the components, or the steps of the method, etc., to those described below. The technical idea 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.

[0014] (First embodiment) The "social scheduling optimization problem" targeted by the first embodiment of the present invention is a problem for which the optimal solution can be found by the present invention, and is a problem for optimizing various scheduling that may occur in the general society. For example, as shown in the upper part of FIG. 1, optimization of a logistics warehouse transport system, optimization of work schedules, etc. can be exemplified. "Optimization of a logistics warehouse transport system" means, for example, a case where the most efficient scheduling is sought as an optimal solution when multiple automated guided vehicles loaded with luggage move along a common route in a logistics warehouse, as will be described later using FIG. 7B, etc. FIG. 7B illustrates a "scheduling problem" for two carts, but in a transport system for carts in a logistics warehouse, it is necessary to perform efficient delivery while responding to transport requests that are updated from moment to moment, so extremely complicated and enormous calculations are generated. Note that FIG. 7B, etc. are examples, and the optimization of the transport system is not limited to a "logistics warehouse", and the same applies to the optimization of transport systems in food factories, electronic equipment factories, automobile factories, etc.

[0015] Similarly, the "work schedule optimization" illustrated in the upper part of FIG. 1 means that when spatial resources such as desks, conference rooms, and equipment are limited in an organization such as a company, and time resources such as work start and end times are limited, the spatial resources are efficiently used to schedule the work place and time so that employees can be most productive. Although not illustrated in FIG. 1, the optimization of scheduling such as real-time routing in a wireless communication network, delivery planning by an autonomous vehicle, object movement planning by a robot arm, and distributed P2P (peer-to-peer) transactions of goods, services, and energy are also "social scheduling optimization problems" according to the first embodiment. In this way, the solution search system according to the first embodiment solves social scheduling optimization problems (hereinafter abbreviated as "optimization problems") including various problems other than those illustrated in FIG. 1 as combinatorial optimization problems. In addition, the "CL-Amoeba SAT solution" shown in Figure 1 as being outside the scope of the present invention refers to a circuit-level Amoeba SAT solution algorithm that is a simplification of the Amoeba SAT solution assuming digital circuit implementation, as disclosed in the pamphlet of International Publication No. 2019 / 017412.

[0016] The "combinatorial optimization problem" in the first embodiment is for determining (formulating) a propositional logic formula to be used to solve an optimization problem, and corresponds to the satisfiability problem (SAT) problem, traveling salesman problem (TSP), etc. A "SAT problem" is a problem in which, when a certain propositional logic formula (Boolean formula) F is given, the logical variables (Boolean variables) x1, x2, ..., x NThe SAT problem is a problem of determining whether the value of the entire propositional formula F can be made true (True: 1) (satisfiable) by assigning True (True: 1) or False (False: 0) to the value of F. The SAT problem is an example of a combinatorial optimization problem (NP-complete problem) that is well known in the field of computer science. An "NP-complete problem" is a decision problem that (a) belongs to the class NP (Non-deterministic Polynomial-time) and (b) can be reduced in polynomial time from any problem in the class NP. There is no known algorithm for solving the SAT problem, which is an NP-complete problem, in polynomial time. This is because the number of solution candidates for a SAT problem grows exponentially with the problem size, causing combinatorial explosion.

[0017] The "traveling salesman problem" is the problem of searching for a cycle (Hamiltonian cycle) in a given weighted graph that passes through all vertices exactly once and has the minimum total weight (cost) (shortest path). In other words, the problem is to find a route that visits all cities exactly once and returns, with the minimum travel distance. The traveling salesman problem is an example of a combinatorial optimization problem (NP-hard problem), which is well known in the field of computer science.

[0018] An "optimization algorithm" is a procedure for finding an optimal solution to the above social problems using a logical expression formulated as a combinatorial optimization problem. The solution search system according to the first embodiment is based on the "Amoeba SAT solving method." The Amoeba SAT solving method is an optimization algorithm that uses the information processing principle of amoebas, organisms that survive in the natural world. It is a biological computer algorithm that learns from the behavior of single-celled amoebas that adapt to the environment and transform into optimal patterns, and quickly solves complex combinatorial optimization problems such as traveling salesman problems and SAT problems using electronic circuits that mimic single-celled amoebas. As will be described later with reference to FIG. 11, the "Amoeba computer," which mimics the behavior of single-celled amoebas, can utilize the parallelism of the current dynamics flowing through the circuit and the stochastic behavior brought about by the fluctuations of the device, and can provide a method for obtaining an appropriate pattern more quickly and reliably than conventional von Neumann-type computers.

[0019] A living organism, a single-celled amoeba, wants to extend as many legs as possible to maximize the amount of nutrient absorbed, but is forced to shrink them when exposed to light. One of the inventors of the present invention found that by adopting a feedback rule that updates the on / off state of light irradiation according to the shape of the single-celled amoeba (the state of extension and contraction of the legs), the single-celled amoeba can search for a quasi-optimal solution to the combinatorial optimization problem "traveling salesman problem" in the process of transforming itself through trial and error to extend only the combination of legs that minimizes the risk of exposure to light. In this "amoeba computer," the multiple freely transforming legs of the single-celled amoeba and the hub (center) of the multiple legs memorize the experience of light irradiation and generate appropriate "stochastic fluctuations" in response to light stimuli through complex spatiotemporal vibration dynamics with a large degree of freedom generated by the multiple legs, which has an effect similar to the "annealing" of quantum computers.

[0020] As shown in Fig. 1, there are optimization algorithms other than the Amoeba SAT solution, but since the present invention is based on the Amoeba SAT solution modeled on a living organism, explanations of algorithms other than the Amoeba SAT solution will be omitted here. As will be described later, in the present invention, making the occurrence frequency of a specific variable relatively high or low is referred to as making the occurrence frequency "non-uniform," and a SAT optimization algorithm with such non-uniformity is referred to as a "non-uniform SAT algorithm." Patent Document 2 discloses a conventional uniform Amoeba SAT solution, but the solution search system according to the first embodiment provides an improved new type of non-uniform Amoeba SAT solution as the optimization algorithm.

[0021] The "hardware implementation" according to the first embodiment refers to an electric circuit for realizing the proposed non-uniform SAT algorithm, and includes an analog circuit for realizing the above optimization algorithm in an analog manner, and a digital circuit for realizing the above optimization algorithm in a digital manner. Below, an example will be described in which a problem instance related to an optimization problem is formulated as a SAT problem, and the non-uniform ameba SAT solving method is used as the optimization algorithm, and the optimization algorithm is realized by an analog circuit or a digital circuit to find an optimal solution.

[0022] The "SAT solution" in the explanation of the solution search system according to the first embodiment means a variable assignment that can satisfy all the constraints of a given propositional logic formula, and one propositional logic formula is called an "instance." In the first place, since the original SAT does not have the concept of obtaining an "optimal solution" or a "highly optimal solution," a variable assignment that can satisfy the propositional logic is called a "SAT solution." The solution search system according to the first embodiment is unique in that it introduces the concept of "optimality" into conventional SAT, but generally, there may be instances that have multiple SAT solutions or instances that do not have any SAT solutions. For this reason, the "optimal solution" and the "highly optimal solution" are defined below. The "optimal solution" in the explanation of the solution search system according to the first embodiment means a solution that maximizes "optimality," which is defined as the number of variables with a specific subscript specified by the user that have a value of 1 or 0 from among many "SAT solutions." However, since it is difficult to always obtain an "optimal solution" in the strict sense, the solution search system according to the first embodiment aims to obtain not only an optimal solution, but also a "highly optimal solution." Note that a "highly optimal solution" is defined as a solution that has an "optimality" closer to the "optimal solution" among many "SAT solutions." In other words, in the following explanation of the solution search system according to the first embodiment, the term "optimal solution" may be read as a "highly optimal solution."

[0023] (Solution search system according to the first embodiment) As shown in FIG. 2 , the solution search system according to the first embodiment of the present invention includes a first data generation unit 11-1, a second data generation unit 11-2, ..., an i-th data generation unit 11-i for generating binary data, a first data conversion unit 12-1, a second data conversion unit 12-2, ..., an i-th data conversion unit 12-i for reading 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 converting it into information, and an output adjustment unit 12-2 for adjusting the output of the binary data by transmitting an output adjustment signal (bounce-back 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. 14, a feedback control unit 13 which displays an optimal solution to the search problem information by repeatedly controlling whether to transmit an output adjustment signal to each of the first data generation units 11-1, the second data generation unit 11-2, ..., the i-th data generation unit 11-i, or to transmit an output adjustment signal and an updated value of the fluctuation probability, 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 search problem information input in advance, and a feedback control unit 14 which displays an optimal solution to the search problem information by repeatedly controlling whether to transmit an output adjustment signal and an updated value of the fluctuation probability to each of the first data generation units 11-1, the second data generation unit 11-2, ..., the i-th data generation unit 11-i, and i,b The system includes a central processing unit (CPU) 1 having a fluctuation setting unit 16 that supplies the fluctuation probability data Z i,b "), where "i" is the variable x i For example, when there are N variables, i=1 to N, where N is a positive integer of 2 or more. "b" is a binary data value, and b="0" or "1".

[0024] The output adjustment unit 14 of the solution search system according to the first embodiment includes a first signal adjustment circuit 141 connected to the first data generation unit 11-1 and the second data generation unit 11-2, a second signal adjustment circuit 142 connected to the third data generation unit 11-3 and the fourth data generation unit 11-4, a third signal adjustment circuit 143 connected to the fifth data generation unit 11-5 and the sixth data generation unit 11-6, and a fourth signal adjustment circuit 144 connected to the seventh data generation unit 11-7 and the eighth data generation unit 11-8. Furthermore, the output adjustment unit 14 of the solution search system according to the first embodiment includes a main output adjustment circuit 140 that supplies signals to the first signal adjustment circuit 141 to the fourth signal adjustment circuit 144. When 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 "provisional decision" output adjustment signals L'. i,0 and output adjustment signal L' i,1 The first signal adjustment circuit 141 outputs two "provisionally determined" output adjustment signals L' 2,0 and output adjustment signal L' 2,1 to the second signal conditioning circuit 142, which outputs two "provisionally determined" output conditioning signals L' 3,0 and output adjustment signal L' 3,1 The third signal adjustment circuit 143 outputs two "provisionally determined" output adjustment signals L' 4,0 and output adjustment signal L' 4,1 are respectively input to the fourth signal conditioning circuit 144.

[0025] The first signal conditioning circuit 141 to the fourth signal conditioning circuit 144 constituting the output conditioning unit 14 of the solution search system according to the first embodiment adjust the variable x i If the output adjustment signal L' i,0 and output adjustment signal L' i,1 Both are 1(L' i,0 =L' i,1 =1), then the bias probability p i Output adjustment signal L i,0 =0 and output adjustment signal L i,1 = 1, and the bias probability 1-p i Output adjustment signal L i,0 =1 and output adjustment signal L i,1The first signal adjustment circuit 141 to the fourth signal adjustment circuit 144 "finally determine" that the output adjustment signal L' i,0 =L' i,1 =0 or output adjustment signal L' i,0 ≠ L' i,1 Then, output adjustment signal L i,0 =L' i,0 and output adjustment signal L i,1 =L' i,1 The bias probability p i is the variable x i It is also possible to set different values ​​for each index i of x i For the index i of p i = 0.5).

[0026] The fluctuation setting unit 16 individually sets a specific fluctuation probability for a specific variable so as to relatively increase or decrease the occurrence frequency of the specific variable. That is, the fluctuation setting unit 16 sets the fluctuation probability data Z i,b to the first data generating unit 11-1, the second data generating unit 11-2, ..., the eighth data generating unit 11-8 (where "i" is the variable x i In the case of FIG. 9, i is one of 1 to 4, and b is binary data "0" or "1." Although not shown in FIG. 9, as can be seen from FIG. 2, the first data generating unit 11-1 stores the fluctuation probability data Z 1,0 is input, and the second data generating unit 11-2 receives the fluctuation probability data Z 1,1 The third data generating unit 11-3 receives the fluctuation probability data Z 2,0 is input, and the fourth data generating unit 11-4 receives the fluctuation probability data Z 2,1 is input. In the same manner, the seventh data generating unit 11-7 receives the fluctuation probability data Z 4,0 is input, and the eighth data generating unit 11-2 receives the fluctuation probability data Z 4,1 is entered.

[0027] As a result, the first data generating unit 11-1 receives the input L 1,0 and fluctuation probability data Z 1,0From binary data S i,0 Similarly, the second data generating unit 11-2 determines and outputs the input L 1,1 and fluctuation probability data Z 1,1 From binary data S 1,1 Further, the third data generating unit 11-3 determines and outputs the input L 2,0 and fluctuation probability data Z 2,0 From binary data S 2,0 The eighth data generating unit 11-8 determines and outputs the input L 4,1 and fluctuation probability data Z 4,1 From binary data S 4,1 = Decide and output “0” or “1”.

[0028] The first set (first tandem connection set) consisting of the tandem connection of the first data generation unit 11-1 and the first data conversion unit 12-1, the second set (second tandem connection set) consisting of the tandem connection of the second data generation unit 11-2 and the second data conversion unit 12-2, ..., the i-th set (i-th tandem connection set) consisting of the tandem connection of the i-th data generation unit 11-i and the i-th data conversion unit 12-i shown in Fig. 2 can each be functionally associated with one amoeba leg of the amoeba computer. For example, as shown in Fig. 9, if i=8, each of the eight tandem connection sets can be functionally associated with one of the eight pseudopod units each having a series circuit of a resistor and a diode as shown in Fig. 11. The amoeba core 101 shown in Figure 11 illustrates a structure in which eight pseudopod units are arranged radially to correspond to the structure of a single-celled amoeba having eight legs, but the structure shown in Figure 2 can be made to correspond to the structure of a more general single-celled amoeba having i legs.

[0029] As shown in Figure 11, the output terminals X1 correspond to the two legs of the single-celled amoeba, which are responsible for determining the value of the variable x1. 1,0 and output terminal X 1,1The input terminals of a two-input NOR gate 301 are connected between the pair of inputs x1 and x2. Similarly, the output terminal X 2,0 and output terminal X 2,1 Between these pairs, the output terminal X is responsible for determining the value of the variable x3. 3,0 and output terminal X 3,4 Between the pair, the output terminal X is responsible for determining the value of the variable x4. 4,0 and output terminal X 4,1 The input terminals of two-input NOR gates 302, 303, and 304 are also connected between the pairs of variables x i Using the subscript “i” of “x” to represent the output terminal of the ameba core 101 shown in FIG. 11, the following two-input NOR gates 301, 302, 303, and 304 are used: i,0 = X i,1 When X = 0, it is possible to forcibly destabilize the circuit, i,0 = 1 or X i,1 = 1, it is possible to encourage a probabilistic transition to either of these states, making it unnecessary to apply a contra rule. The eight pseudopod units shown in FIG. 11 electrically shrink and reduce their output voltage when an inhibitory signal called an output adjustment signal (bounce-back signal) is applied, and electrically extend and increase their output voltage when not applied. However, like a living organism, a single-celled amoeba, even when the output voltage increases due to electrical extension, a "swaying motion" that does not extend occurs with a certain fluctuation probability. In the solution search system according to the first embodiment, the individual "swaying probabilities" that mimic the motion of this single-celled amoeba are set non-uniformly from the outside, or updated at each step according to a user-specified rule.

[0030] 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 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 converts it into information. 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, for example, "1" output as digital 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 outputs a value obtained by adding "+1" to the value of the current step as information corresponding to the data.

[0031] In addition, when "0" is output as digital data from each of the first data generating unit 11-1, the second data generating unit 11-2, ..., the i-th data generating unit 12-i, the first data converting unit 12-1, the second data converting unit 12-2, ..., the i-th data generating unit 12-i reads it and outputs a value obtained by adding "-1" to the value of the current step as information corresponding to it. Since the eight pseudopod units of the amoeba core 101 shown in Fig. 11 can output {-1, 0, 1} representing the extension and contraction state of the legs of the single-celled amoeba, each of the first data converting unit 12-1, the second data converting unit 12-2, ..., the i-th data converting unit 12-i makes the output of the eight pseudopod units correspond to the information of {-1, 0, 1} output from each of the first data generating unit 11-1, the second data generating unit 11-2, ..., the i-th data generating unit 11-i.

[0032] However, the maximum value that 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 take is X max , with a minimum of -X minIn this case, the possible values ​​of 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 (X min and X max can take any value). This indicates that the output of i pseudopod units can take multiple types (multiple levels) of values.

[0033] A simple example is shown in Fig. 11, where the extension and contraction state of the legs of a single-celled amoeba is expressed by three values ​​{-1, 0, 1}, but the solution search system according to the first embodiment is not limited to three values. It is also possible to express the extension and contraction state by five values ​​{-2, -1, 0, 1, 2}, and generally it can be designed to take K values, where K is a positive odd number. In order to take five types of values, for example, -X min is -2, +X maxConsidering the case where 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, then the value +1 is output in the next step regardless of the value of the output 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 if 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 generation unit 12-i is -2, then the value -1 is output in the next step regardless of the value of the output 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. 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 above, but may be any information based on 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. It is possible to correspond to the extension and contraction of the legs of the unicellular amoeba and utilize the fluctuation of the extension and contraction of the legs of the unicellular amoeba.

[0034] As shown in FIG. 2, the solution search system according to the first embodiment further includes an input device 21, a display device 23, an output device 24, a data storage device 22, a program storage device 25, and the like, as in a normal von Neumann-type computer system. The user of the solution search system according to the first embodiment inputs and sets the fluctuation probability from outside the system via the input device 21 shown in FIG. 2, so that the fluctuation setting unit 16 can independently specify any value of the fluctuation probability 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, via the input device 21, a problem instance related to an optimization problem can be input as information on a plurality of implication-form constraint conditions and the logical product of these constraint conditions. The "implication form" means the form of "if" in logic. In other words, the form of a conditional statement "if A, then B" when A is the antecedent and B is the consequent is the implication form. The SAT problem can be expressed by a plurality of implication-form constraint conditions input via the input device 21 and the logical product of these constraint conditions. The search problem information formulated as a SAT problem may be stored in data storage device 22 .

[0035] The feedback control unit 13 of the solution search system according to the first embodiment judges whether an 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 search problem information stored in the data storage device 22. If it is judged that the optimal solution has not been obtained, the feedback control unit 13 repeats the operation of transmitting an output adjustment signal (bounce-back 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 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 is obtained. If multiple SAT solutions are obtained from the search problem information, the solution in which the occurrence frequency of a specific variable in each SAT solution is relatively higher or lower than the occurrence frequency of other variables is displayed via the display device 23 or the output device 24.

[0036] The operations of the first data generating unit 11-1, the second data generating unit 11-2, ..., the i-th data generating unit 11-i, the first data converting unit 12-1, the second data converting unit 12-2, ..., the i-th data converting unit 12-i, the feedback control unit 13, the output adjusting unit 14, and the fluctuation setting unit 16 are controlled by the control unit 17 via a bus not shown. That is, although the command transmission path is not shown in Figure 2, there is a command transmission path from the control unit 17 to the first data generating unit 11-1, the second data generating unit 11-2, ..., the i-th data generating unit 11-i, the first data converting unit 12-1, the second data converting unit 12-2, ..., the i-th data converting unit 12-i, the feedback control unit 13, the output adjusting unit 14, and the fluctuation setting unit 16. Similarly, although the command transmission path is not shown in Fig. 2, information inputted through the input device 21 is stored in the data storage device 22 via the bus. The information stored in the data storage device 22 can be read by the fluctuation setting unit 16 and the feedback control unit 13 via the bus.

[0037] As shown in Fig. 2, the central processing unit 1 further includes a control unit 17. Although the sequence circuit is not shown in Fig. 2, the control unit 17 outputs instructions for sequentially controlling the operations of the data generation unit 11, data conversion unit 12, feedback control unit 13, output adjustment unit 14, and fluctuation setting unit 16 according to the procedure commanded by the solution search program according to the first embodiment stored in the program storage device 25 along the time series output from the sequence circuit. The program storage device 25 stores a solution search program represented by an algorithm as shown in Fig. 16, which will be described later. Each of the components such as 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 fluctuation setting unit 16 is not limited to the amoeba computer as illustrated in Figure 11, and may be embodied by any existing circuit, device, apparatus, etc. that performs these functions.

[0038] (Outline of solution search method according to the first embodiment) As shown in the flowchart of Fig. 16, in the solution search method according to the first embodiment, first, in step S101, a user of the solution search system according to the first embodiment inputs a problem instance related to an optimization problem as multiple implication-type constraint conditions via the input device 21 shown in Fig. 2. The input constraint conditions are formulated as an SAT problem by the logical product of the constraint conditions, which is set as search problem information, and this search problem information is stored in the data storage device 22. Furthermore, in step S102, the user inputs multiple fluctuation probabilities ε that can be assigned separately to each variable via the input device 21. i,b Input the fluctuation probability ε i,b is stored in the data storage device 22 (where "i" is the variable x i where "b" is the binary data value, b="0" or "1".

[0039] In the solution search method according to the first embodiment, for example, a specific variable x j For a set of states x j By relatively increasing or decreasing the frequency of occurrence of ε = 1, the user can obtain an optimal solution quickly and with a high probability from outside the solution search system according to the first embodiment. i,b can be set via the input device 21. j = 1, the remaining variables are x i If you want to get a solution with a high probability that is smaller than the number where ε = 1, you need to set the fluctuation probability ε j,1 ε j,0、 ε i,0、 ε i,1 i.e., make “j” a specific variable x j As a subscript to ε j,1 >ε j,0 =ε i,0 =ε i,1 ……(1) The user may input the specific variables x j The fluctuation probability ε is set so that the occurrence frequency of = 1 becomes relatively high or low. i,b is set externally to give non-uniformity to the occurrence frequency, and such a non-uniform SAT optimization algorithm is called a "non-uniform SAT algorithm."

[0040] Each fluctuation probability ε i,b The value of may be updated at each step according to a rule specified by the user. For example, the value of the fluctuation probability of the amoeba leg (i, b) at step t is ε i,b (t), the value of the data conversion unit of amoeba leg (j,c) at step t is X j,c (t). In this case, the fluctuation probability of each amoeba leg in the next step t+1 is ε i,b The value of (t+1) may be updated with a user-specified activation function f, as shown in equation (2) below. ε i,b (t+1)=f(Σ j,c w i,b,j,c X j,c (t) ……(2) The activation function f in equation (2) is the value X of all data conversion units. j,c A vector of (t), a user-specified weight matrix w i,b,j,c The weighting matrix w is calculated according to the objective function of the problem instance in the optimization problem. i,b,j,c If the activation function f is set appropriately, the fluctuation probability ε i,b The value of is dynamically updated at every step, making it possible to derive a more optimal solution.

[0041] Then, in step S103, the plurality of fluctuation probabilities ε i,b The fluctuation setting unit 16 reads out a set of fluctuation probabilities ε , which includes different fluctuation 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. i,b Then, in step S104, the first data generating unit 11-1, the second data generating unit 11-2, ..., the i-th data generating unit 11-i each generate non-uniform data based on an independent different fluctuation probability, and the occurrence frequency of a specific variable output by the first data generating unit 11-1, the second data generating unit 11-2, ..., the i-th data generating unit 11-i is set to a value different from the occurrence frequency of other variables. Furthermore, in step S105, the first data converting units 12-1, the second data converting units 12-2, ..., the i-th data converting units 12-i, which are the same number as the first data generating unit 11-1, the second data generating unit 11-2, ..., the i-th data generating unit 11-i, read the data generated by the first data generating unit 11-1, the second data generating unit 11-2, ..., the i-th data generating unit 11-i, respectively, and convert them into information.

[0042] 16, the feedback control unit 13 judges whether a SAT 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 search problem information input in advance. If the feedback control unit 13 judges in step S106 that a SAT solution has been obtained, 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 the feedback control unit 13 judges in step S106 that a SAT solution has not been obtained, the process proceeds to step S107, where the output adjustment unit 14 transmits an output adjustment signal (bounce-back 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.

[0043] Furthermore, in step S107, the feedback control unit 13 calculates each fluctuation probability ε i,b may be updated according to a rule specified by the user and transmitted to the fluctuation 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 has been obtained, and causes the output adjustment unit 14 to repeat the operation of transmitting 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 transmitting an output adjustment signal and an updated fluctuation probability value, thereby repeatedly controlling the processing of the loop of step S104 → step S105 → step S106 → step S107 → step S104. In this way, the processing of the loop is continued until the feedback control unit 13 determines that a final SAT solution (optimal solution) of the SAT problem expressed by a plurality of constraint conditions in the implication form and the logical product of these constraint conditions has been obtained.

[0044] (Outline of solution search program according to the first embodiment) The series of processes of the solution search method shown in FIG. 16 can be executed by controlling the solution search system shown in FIG. 2 by a computer software program of an algorithm equivalent to that of FIG. 16. This program may be stored in the program storage device 25 of the computer system constituting the solution search system of the present invention. In addition, the solution search program according to the first embodiment can be stored in a computer-readable recording medium, and the series of solution search methods of the present invention can be executed by loading this recording medium into the program storage device 25 of the solution search system. Here, the "computer-readable recording medium" refers to a medium capable of recording a program, such as an external memory device of a computer, a semiconductor memory, a magnetic disk, an optical disk, a magneto-optical disk, a magnetic tape, or the like.

[0045] Specifically, flexible disks, CD-ROMs, MO disks, open reel tapes, etc. are included in the "computer-readable recording medium". For example, the main body of the information processing device can be configured to have a flexible disk device (flexible disk drive) and an optical disk device (optical disk drive) built-in or externally connected. By inserting a flexible disk into the flexible disk drive or a CD-ROM into the optical disk drive through its insertion slot and performing a predetermined read operation, the solution search program stored in these recording media can be installed in the program storage device 25 that constitutes the solution search system. Furthermore, the solution search program according to the first embodiment can be stored in the program storage device 25 via an information processing network such as the Internet.

[0046] That is, in the solution search program according to the first embodiment, when a user of the solution search system according to the first embodiment inputs a problem instance related to an optimization problem as multiple implication-form constraint conditions via the input device 21 shown in Fig. 2 in response to the processing of step S101 shown in the flowchart of Fig. 16, the control unit 17 issues a command to make the input constraint conditions into search problem information formulated as a SAT problem, which is the logical product of the constraint conditions, and to store this search problem information in the data storage device 22. Furthermore, in step S102, the user inputs multiple fluctuation probabilities ε i,b , bias probability p i , threshold θ i,b When the control unit 17 receives the fluctuation probability ε i,b , bias probability p i , threshold θ i,b The command is issued to store the data in the data storage device 22.

[0047] Furthermore, in response to the processing in step S103 of the flowchart in FIG. 16, the fluctuation probability ε i,b , bias probability p i , threshold θ i,b The control unit 17 transmits a command to the fluctuation setting unit 16 to read the information of from the data storage device 22. The fluctuation setting unit 16 reads the fluctuation probability ε i,b Based on the information, the fluctuation setting unit 16 supplies independent and different fluctuation probabilities to the first data generating unit 11-1, the second data generating unit 11-2, ..., the i-th data generating unit 11-i. Also, the fluctuation setting unit 16 reads out the bias probability p i Based on the information, the fluctuation setting unit 16 provides independent and different bias probabilities to the first signal conditioning circuit 141, the second signal conditioning circuit 142, ..., the i-th signal conditioning circuit. i,bBased on this information, the first data conversion unit 12-1, the second data conversion unit 12-2, . . . , the i-th data conversion unit 12-i are each provided with an independent and different threshold value.

[0048] Then, in response to the processing of step S104, the first data generation unit 11-1, the second data generation unit 11-2, ..., the i-th data generation unit 11-i are each caused to generate non-uniform data based on independent, different fluctuation probabilities, thereby setting the occurrence frequency of a specific variable output 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 to a value different from the occurrence frequency of the other variables. Then, in response to the processing of step S105, the control unit 17 transmits commands to the first data conversion units 12-1, second data conversion units 12-2, ..., i-th data conversion units 12-i, which are the same number as the first data generation unit 11-1, second data generation unit 11-2, ..., i-th data generation unit 11-i, to cause them to read the data generated by the first data generation unit 11-1, second data generation unit 11-2, ..., i-th data generation unit 11-i and convert the read data into information.

[0049] 16, the control unit 17 outputs a command to the feedback control unit 13 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 search problem information input in advance. If the feedback control unit 13 determines in step S106 that a SAT solution has been obtained, the control unit 17 outputs a command to proceed to step S108. In response to the process of step S108, the control unit 17 causes the display device 23 or the output device 24 to output the final SAT solution (optimal solution). If the feedback control unit 13 determines in step S106 that a SAT solution has not been obtained, the control unit 17 outputs a command to proceed to step S107. In response to the process of step S107, the control unit 17 outputs a command to the output adjustment unit 14 to transmit an output adjustment signal (bounce-back 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. Note that in step S107, the feedback control unit 13 is instructed to transmit each fluctuation probability ε i,b It is also possible to have the values ​​of θ and θ updated according to rules specified by the user and to have these values ​​transmitted to the fluctuation setting unit 16 .

[0050] The control unit 17 outputs a command to the feedback control unit 13 to continue sending a command signal to the output adjustment unit 14 until it is determined that a final SAT solution (optimal solution) has been obtained, and this command causes the output adjustment unit 14 to repeat the operation of sending 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 sending an output adjustment signal and an updated fluctuation probability value. As a result, the feedback control unit 13 repeatedly controls the process corresponding to the loop of step S104 → step S105 → step S106 → step S107 → step S104. In this way, according to the solution search program of the first embodiment, it is possible to obtain an optimal solution to a SAT problem expressed by a plurality of constraint conditions in the form of implication and the logical product of these constraint conditions.

[0051] According to the solution search system according to the first embodiment illustrated in FIG. 2, the solution search method according to the first embodiment illustrated in the flowchart of FIG. 16, and the solution search program according to the first embodiment corresponding to the flowchart of FIG. 16, it is possible to find an optimal solution even if the CONTRA rule, one of the constraint rules required in the conventional uniform ameba SAT solution method, is deleted in addition to the non-uniform fluctuation. The CONTRA rule will be described later. That is, according to the solution search system, solution search method, and solution search program according to the first embodiment, one objective of solving the SAT problem without complicating the optimization algorithm is realized. In addition, there are cases where multiple SAT solutions are obtained from the search problem information. In that case, it is possible to set the occurrence probability of the variables in each SAT solution individually. That is, according to the solution search system, solution search method, and solution search program according to the first embodiment, it is possible to solve the SAT problem quickly and efficiently by setting the fluctuation probability non-uniformly to specific data so that the occurrence frequency of a specific variable can be set relatively higher or lower than the occurrence frequency of other variables. Furthermore, by making the program variables in the search problem information (a formulated logical formula) changeable, various problem instances can be expressed, so that the optimal solution can be found without changing the hardware, that is, with the same circuit even if the problem instance is changed. The process of making the program variables changeable will be described later.

[0052] The first data generating unit 11-1, the second data generating unit 11-2, ..., the i-th data generating unit 11-i output non-uniform data according to the set non-uniform fluctuation probability. The data output from the first data generating unit 11-1, the second data generating unit 11-2, ..., the i-th data generating unit 11-i may be binarized digital data or analog data, but in the following description, a case where either "1" or "0" is output will be described as an example. In addition, at least one of the first data generating unit 11-1, the second data generating unit 11-2, ..., the i-th data generating unit 11-i receives an output adjustment signal (bounce-back signal) output from the output adjustment unit 14. Then, the first data generating unit 11-1, the second data generating unit 11-2, ..., the i-th data generating unit 11-i that receive this output adjustment signal controls the non-uniform data to be output based on it.

[0053] As shown in Fig. 3, focusing on the first data generating unit 11-1, when an output adjustment signal is supplied to the first data generating unit 11-1, the first data generating unit 11-1 can be set to output "0" more frequently. In this case, as shown in Fig. 4, when an output adjustment signal is not supplied to the first data generating unit 11-1, the first data generating unit 11-1 outputs "1" more frequently. Note that each of the first data generating unit 11-1, the second data generating unit 11-2, ..., the i-th data generating unit 11-i may be embodied in any form as long as it can realize the functions shown in Figs. 3 and 4. Each of the first data generation unit 11-1, the second data generation unit 11-2, ..., the i-th data generation unit 11-i may be configured, for example, as a circuit unit of an amoeba computer capable of outputting either "1" or "0" at regular time intervals, or when the solution search program of the first embodiment is executed by a computer, it is possible to think of them as conceptual components (logic circuits) in virtually defined software, without being limited to physical hardware resources.

[0054] 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 search system according to the first embodiment includes not only data that is randomly output, such as uncorrelated stochastic random numbers, but also data that is output in a state accompanied by fluctuations having spatial correlation or time correlation output from a system such as a chaotic dynamics system or a nonlinear oscillator coupling system. The non-uniform occurrence frequency characteristic to be imparted to the output data is determined based on the non-uniform fluctuation probability supplied by the fluctuation setting unit 16. As already described, 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 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 based on the output data. Each of the first data conversion unit 12-1, the second data conversion unit 12-2, . . . , the i-th data conversion unit 12-i outputs information that has been subjected to this information conversion.

[0055] At this time, the possible values ​​of 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 There is a threshold θ i,b Greater than or equal to a certain threshold θ i,b It is also possible to output whether the threshold value θ is less than or equal to the threshold value θ. i,b It is also possible to set different values ​​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 these binary positive or negative data, and may be anything based on converted data.

[0056] In addition, when the number of variables is N, 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 may be configured to be N or 2N. 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. In addition, the output information may be displayed on a screen of the display device 23 or the like.

[0057] The feedback control unit 13 receives information converted and output 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. The feedback control unit 13 controls the transmission of an output adjustment signal (bounce-back signal) by the output adjustment unit 14 based on the received information and the search problem information input in advance and stored in the data storage device 22. Specifically, the feedback control unit 13 controls whether or not to transmit the output adjustment signal 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 to which the output adjustment signal is to be transmitted. The feedback control unit 13 also displays an optimal solution to the search problem information based on 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 after repeating the transmission control of the output adjustment signal. The display of the optimal solution may be displayed via a user interface such as the display device 23.

[0058] The output adjustment unit 14 transmits an output adjustment signal to each of the first data generating unit 11-1, the second data generating unit 11-2, ..., the i-th data generating unit 11-i, or transmits an output adjustment signal and an updated value of the fluctuation probability, based on the control from the feedback control unit 13. This output adjustment signal may be supplied to all of the first data generating unit 11-1, the second data generating unit 11-2, ..., the i-th data generating unit 11-i, or conversely, may not be supplied to all of the first data generating unit 11-1, the second data generating unit 11-2, ..., the i-th data generating 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 to which this output adjustment signal is supplied will tend to output different data compared 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 to which the output adjustment signal is not supplied.

[0059] The fluctuation setting unit 16 is a device that provides a non-uniform fluctuation probability to give a non-uniform occurrence frequency to 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. As shown in the flowchart of Fig. 16, the solution search system according to the first embodiment performs processing operations 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. These processing operations are repeatedly executed by transmitting an output adjustment signal from the output adjustment unit 14 until a final SAT solution (optimal solution) is obtained.

[0060] In the solution search system according to the first embodiment, whether to transmit or not transmit an output adjustment signal (bounce-back signal) to any of the first data generation unit 11-1, the second data generation unit 11-2, ..., the i-th data generation unit 11-i is controlled based on the search problem information input in advance and stored in the data storage device 22. In other words, the feedback control unit 13 controls the transmission of the output adjustment signal by the output adjustment unit 14 based on two factors: the information 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 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 search problem information stored in the data storage device 22.

[0061] "Search problem information" includes problem information such as all constraints and objective functions, including those expressed as propositional logic formulas. The search problem information stored in the data storage device 22 may be understood as all problem information related to an optimum solution search problem. The search problem information stored in the data storage device 22 may be expressed as a propositional logic formula consisting of N variables, for example. The search problem information is (P0?P1?...?P n ) = "true" ("1") or "false" ("0"), (where "?" may be any operation symbol including logical sum (or), logical product (and), etc.). In the solution search system according to the first embodiment, when searching for an optimal solution to search problem information, the supply of an output adjustment signal is controlled so as to eliminate search problem information that does not satisfy a propositional logical formula according to information 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 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, it is possible to search for a solution by giving an SAT problem as search problem information that searches for a variable that can be satisfied to make the entire value of a propositional logical formula "true" ("1").

[0062] For example, FIG. 5 shows a propositional formula for making the logical product of six disjunction clauses expressed by the given Boolean formulas F11 to F16 1 (“true”). This propositional formula has four variables x 1, x 2, x 3, It is an expression having x4 and six disjunction clauses. Since the six disjunction clauses are connected by logical product (and), it can be seen that in order to make the logical product of the six disjunction clauses 1, all of the disjunction clauses must be set to 1. For example, when focusing on the Boolean expression F11=(x1 or ~x2) in FIG. 5, if x1 is "0", the Boolean expression F11 cannot be set to "1" unless x2 is set to "0". In this specification, in the notation of the Boolean expression shown in parentheses, negation (NOT) is represented by the Boolean logic symbol "~". In the case of the Boolean expression F11=(x1 or ~x2) where x1="0", control is performed to negate x2 being "1". In addition, in the case of the Boolean expression F11=(x1 or ~x2) where x1="0", control is performed to negate x2 being "1". In addition, in the case of the Boolean expression F11=(x1 or ~x2) where x2="1", control is performed to negate x1 being "0".

[0063] Also, when focusing on Boolean expression F12=(~x2 or x3 or ~x4), if x3 is "0" and x4 is "1", then if x2 is "1", Boolean expression F12 cannot be set to "1". In such a case, control is performed to negate x2 being "1". Similarly, if x2 is "1" and x3 is "0", then if x4 is "1", Boolean expression F12 cannot be set to "1". In such a case, control is performed to negate x4 being "1". Similarly, if x2 is "1" and x4 is "1", then if x3 is "0", Boolean expression F12 cannot be set to "1". In such a case, control is performed to negate x3 being "0".

[0064] For the remaining Boolean formulas F13=(x1 or x3) to F16=(~x1 or x4), as shown in FIG. 5, based on the same logic, control is performed to eliminate those that do not satisfy the propositional logical formula in order to make the overall value of the propositional logical formula "true". This makes it possible to lead the overall value of the propositional logical formula to "true". In addition, in performing such a solution search, the solution search system according to the first embodiment can supply output adjustment signals (bounce-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 in accordance with 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, so as to eliminate those that do not satisfy the propositional logical formula as search problem information. Therefore, by providing search problem information consisting of a propositional logical formula as illustrated in Figure 5, an output adjustment signal is supplied in accordance with this, and ultimately the output states of the first data conversion unit 12-1, the second data conversion unit 12-2, ..., the i-th data conversion unit 12-i are reached that satisfy the propositional logical formula as the search problem information.

[0065] In particular, even when solving a propositional formula consisting of a logical product of multiple disjunction clauses such as Boolean formula F11 to Boolean formula F16 shown in Fig. 5, by inputting this as search problem information in feedback control unit 13, it is possible to control the supply of output adjustment signals in accordance with the search problem information stored in data storage device 22, leading to a solution. Note that the SAT solution shown in Fig. 5 is (x1, x2, x3, x4) = (1, 1, 1, 1), and this solution can be obtained by the solution search system according to the first embodiment.

[0066] Furthermore, in the solution search system according to the first embodiment, when solving a propositional logic formula, a problem instance relating to an optimization problem is formulated as a SAT problem expressed by multiple constraint conditions in the form of "if" (implication form) and the logical product of multiple constraint conditions. The "implication form constraint condition" corresponds to the INTER rule of the Ameba SAT solving method described later. This makes it possible to find an optimal solution even if the contra rule of the Ameba SAT solving method described later is deleted, making it possible to solve a SAT problem without complicating the optimization algorithm.

[0067] However, for example, in the case of the propositional formula shown in FIG. 6(a), the SAT solutions are (x1, x2, x3, x4) = (1, 1, 1, 1), (1, 1, 1, 0), (1, 1, 0, 0), and (1, 0, 0, 0). FIG. 6(b) shows that the propositional formula shown in FIG. 6(a) is expressed as a logical product of constraints in the form of "if" (implication form) corresponding to five disjunction clauses. It is necessary to select an optimal solution from the propositional formula shown in FIG. 6(a). In the solution search system according to the first embodiment, the occurrence probability of variables in each SAT solution can be set individually, that is, the fluctuation probability can be set so that the occurrence frequency of one of x1, x2, x3, and x4 is relatively higher or lower than the occurrence frequency of the other variables, so that one solution can be selected quickly and efficiently. As an example, x j If we introduce "non-uniformity" by choosing the solution with the least frequency of (j is odd) = 1, the solutions can be narrowed down to two: (x1, x2, x3, x4) = (1, 1, 0, 0) and (1, 0, 0, 0).

[0068] 7A and 7B explain the optimization of an automatic transport system for carts in a logistics warehouse as an example of expressing constraints in the implication form (the "if" form) of the solution search system according to the first embodiment. FIG. 7A shows a two-dimensional arrangement of unit transport sections (cells) in a logistics warehouse. Arrows in the unit transport sections indicate constraints on the movement direction. The horizontal axis of FIG. 7B is a time axis with the operation unit time as the cell size. In FIG. 7B, an array of 28 operation unit times consisting of time 1 to time 28, each of which constitutes an operation unit time, is shown on the horizontal axis. The vertical axis of FIG. 7B is a coordinate axis showing spatial positions in which the two-dimensional array of unit transport sections in the logistics warehouse shown in FIG. 7A is converted into a one-dimensional array along the vertical axis, with the unit transport section as the cell size. In FIG. 7A and FIG. 7B, the cell shown with hatching slanting upwards to the right indicates the first cart v1, and the cell shown with hatching slanting upwards to the left indicates the second cart v2. Let x denote the presence of cart v in unit transport section (cell) i at time (operation unit time) p. v,i,p = 1. In the case where a first cart v1 is requested to transport cargo from a loading cell 7 (indicated by F1) to an unloading cell 5 (indicated by T1), and a second cart v2 is requested to transport cargo from a loading cell 15 (indicated by F2) to an unloading cell 17 (indicated by T2), a solution that satisfies all of the first to third constraints can express a schedule (FIG. 7B) that satisfies the transportation requirements of the carts by defining a set of three constraints as follows.

[0069] (First constraint): Constraint that prohibits the same cart from splitting into multiple cells: x v,i,p = 1, then x v,j,p = 0. (Second constraint): Constraint that prohibits multiple vehicles from coexisting in the same cell: x v,i,p = 1, then x w,j,p = 0. (Third constraint): A constraint expressing the transportation requirement of a cart: Go to a specified loading / unloading cell and arrive at a specified time t v Must stay.

[0070] As shown in FIG. 7B, the first cart v1, indicated by hatching slanting from top to bottom, is located in cell 2 at time 1, but moves to cell 1 on the left side of cell 2 at time 2, and moves to cell 4 below cell 1 at time 3. Furthermore, the first cart v1, indicated by hatching slanting from top to bottom, moves to cell 3 on the left side of cell 4 at time 4, and moves to cell 7 indicated by F1 below cell 3 at time 5, where it remains until time 8 for loading. The first cart v1, indicated by hatching slanting from top to bottom, 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 on the right side of cell 19 at time 12, and remains there until time 13.

[0071] Furthermore, the first cart v1 shown with hatching slanting from top to bottom moves to cell 23 below cell 20 at time 14, moves to cell 24 to the right of cell 23 at time 15, moves to cell 21 above cell 24 at time 16, and moves to cell 22 to the right of cell 21 at time 17. Furthermore, the first cart v1 shown with hatching slanting from top to bottom moves to cell 18 above cell 22 at time 18, moves to cell 14 above cell 18 at time 19, moves to cell 10 above cell 14 at time 20, and remains there until time 21. The first cart v1 shown with hatching slanting from top to bottom moves to cell 6 above cell 10 at time 22, remains there until time 23, and then moves to cell 5, indicated by T1, which is the destination on the left side of cell 6, at time 24, and remains there until time 27 for unloading.

[0072] The second cart v2, shown with hatching slanting from left to right, 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. Furthermore, the second cart v2, shown with hatching slanting from left to right, moves to cell 7 below cell 3 at time 4, moves to cell 11 below cell 7 at time 5, moves to cell 15 indicated by F2 below cell 11 at time 6, and remains there until time 9 for loading. Furthermore, the second cart v2, shown with hatching slanting from left to right, moves to cell 19 below cell 15 at time 10, moves to cell 20 to the right of cell 19 at time 11, moves to cell 23 below cell 20 at time 12, moves to cell 24 to the right of cell 23 at time 15, moves to cell 21 above cell 24 at time 14, moves to cell 17 indicated by T2 above cell 21, which is the destination, at time 15, and remains there until time 18 for unloading. Furthermore, the second cart v2, indicated by the hatching slanting from left to right, moves to cell 13 above cell 17 at time 19, where it remains stationary until time 20. It then moves to cell 9 above cell 13 at time 21, to cell 5 above cell 9 at time 22, to cell 2 above cell 5 at time 23, to cell 1 to the left of cell 2 at time 24, where it remains stationary until time 26, and then moves to cell 4 below cell 1 at time 25.

[0073] FIG. 8A shows the effect of applying the solution search system according to the first embodiment using the new non-uniform ameba SAT solution to the optimization of an automatic transport system for carts in a logistics warehouse and making the fluctuations applied to the data non-uniform. For comparison, FIG. 8B shows the effect of applying a conventional uniform ameba SAT solution to the optimization of an automatic transport system for carts in a similar logistics warehouse. As in FIG. 7A and FIG. 7B, the horizontal axis in FIG. 8A and FIG. 8B is a time axis with the operation unit time as the cell size. The vertical axis in FIG. 8A and FIG. 8B is a coordinate axis showing the spatial position with the unit transport section as the cell size. As in FIG. 7A and FIG. 7B, in FIG. 8A and FIG. 8B, the cells shown with hatching slanting upwards to the right indicate the first cart v1, and the cells shown with hatching slanting upwards to the left indicate the second cart v2. In scheduling by the solution search system of the first embodiment using the new non-uniform amoeba SAT solving method shown in Figure 8A, the first cart v1, indicated by the hatching slanting from left to right, is located in cell 1 at time 1, moves to cell 4 below cell 1 at time 2, and moves to cell 3 to the left of cell 4 at time 3.

[0074] Furthermore, at time 4, the first cart v1 moves to cell 7, indicated by F1 in FIG. 7A, located below cell 3, and remains in cell 7 until time 6 for loading. After loading, the first cart v1 moves to cell 11 below cell 7 at time 7, moves to cell 15 below cell 11 at time 8, moves to cell 19 below cell 15 at time 9, and moves to cell 20 to the right of cell 19 at time 10. Furthermore, the first cart v1 indicated by hatching slanting from top to bottom moves to cell 23 below cell 20 at time 11, moves to cell 24 to the right of cell 23 at time 12, moves to cell 21 above cell 24 at time 13, and moves to cell 22 to the right of cell 21 at time 14. Furthermore, the first cart v1 indicated by hatching slanting from top to bottom moves to cell 18 above cell 22 at time 15, moves to cell 14 above cell 18 at time 16, and moves to cell 10 above cell 14 at time 17. The first cart v1, indicated by the hatching slanting from left to right, moves to cell 6 above cell 10 at time 18, and at time 19 moves to cell 5, indicated by T1, which is its destination on the left side of cell 6, where it remains until time 22 for unloading. After unloading, the first cart v1 moves to cell 2 above cell 5 at time 24, remains there until time 25, and then returns to cell 1 on the left side of cell 2 at time 26.

[0075] The second cart v2, shown by the hatching slanting from left to right in FIG. 8A, is located in cell 4 at time 1, but moves to cell 3 on the left side of cell 4 at time 2. Furthermore, the second cart v2, shown by the hatching slanting from left to right, moves to cell 7 below cell 3 at time 3, moves to cell 11 below cell 7 at time 4, moves to cell 15, shown as F2 in FIG. 7A, located below cell 11 at time 5, and stays there until time 7 for loading. After loading, the second cart v2 moves to cell 19 below cell 15 at time 8, moves to cell 20 to the right of cell 19 at time 9, moves to cell 23 below cell 20 at time 10, moves to cell 24 to the right of cell 23 at time 11, moves to cell 21 above cell 24 at time 12, moves to cell 17, shown as T2 in FIG. 7A, located above cell 21, which is the destination, at time 13, and stays there until time 15 for unloading. After unloading, the second cart v2 moves to cell 13 above cell 17 at time 16, 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. After unloading, the second cart v2 moves to cell 8 below cell 4 at time 22, where it remains until time 23. It then moves to cell 12 below cell 8 at time 24, and to cell 16 below cell 9 at time 25.

[0076] On the other hand, in the scheduling by the conventional uniform amoeba SAT solving method shown in FIG. 8B, the first cart v1 shown by the hatching slanting from top to bottom is located in cell 4 at time 1, but moves to cell 3 on the left side of cell 4 at time 2, moves to cell 7 shown by F1 in FIG. 7A located below cell 3 at time 3, and remains in cell 7 until time 6 for loading. After loading, the first cart v1 moves to cell 11 below cell 7 at time 7, moves to cell 15 below cell 11 at time 8, moves to cell 19 below cell 15 at time 9, and moves to cell 20 to the right of cell 19 at time 10. Furthermore, the first cart v1 shown by the hatching slanting from top to bottom moves to cell 23 below cell 20 at time 11, moves to cell 24 to the right of cell 23 at time 12, moves to cell 21 above cell 24 at time 13, and moves to cell 17 above cell 21 at time 14. Furthermore, the first cart v1, indicated by hatching slanting from left to right, moves to cell 13 above cell 17 at time 15, moves to cell 9 above cell 13 at time 16, and moves to cell 5, indicated by T1 in Fig. 7A as its destination above cell 9, at time 17, where it remains until time 22 for unloading. After unloading, the first cart v1 moves to cell 2 above cell 5 at time 23, remains there until time 24, then returns to cell 1 to the left of cell 2 at time 25, remains there until time 26, and then moves to cell 4 below cell 1 at time 27.

[0077] In the scheduling by the conventional uniform amoeba SAT solving method shown in FIG. 8B, the second cart v2, which is shown with hatching from left to right, is located at cell 11 below cell 7 at time 4, but moves to cell 15, shown as F2 in FIG. 7A, located below cell 11 at time 5, and remains there until time 7 for loading. Although the route is unclear, the second cart v2, after loading, is located at cell 22 at time 14 and remains there until time 17. The second cart v2 moves to cell 18 above cell 22 at time 18 and remains there until time 19, and then moves to cell 14 above cell 18 at time 20 and remains there until time 21. The second cart v2 moves to cell 10 above cell 14 at time 22, moves to cell 6 above cell 10 at time 23, and remains there until time 24. The second cart v2 moves to cell 5 on the left side of cell 6 at time 25, and moves to cell 2 above cell 5 at time 26. The second cart v2 moves to cell 1 to the left of cell 2 at time 27.

[0078] As shown in Fig. 8A, the solution search system according to the first embodiment using the non-uniform ameba SAT solution method obtains a highly optimal solution with few stalled states of the carriage, whereas as shown in Fig. 8B, the solution obtained by the conventional uniform ameba SAT solution method is a low-optimal solution with many stalled states of the carriage, as indicated by the horizontal double-headed arrows. The dwell time of the first carriage v1 in cell 5 for unloading cargo is four travel unit times, which is the designated stay time from time 19 to time 22, in Fig. 8A, whereas it stays for six travel unit times, from time 17 to time 22, in Fig. 8B. In addition, in the solution obtained by the conventional uniform ameba SAT solution method shown in Fig. 8B, the second carriage v2, indicated by the hatching slanting upwards to the left, stays in cell 22 for four travel unit times, as indicated by the horizontal double-headed arrows, from time 14 to time 17. Furthermore, in the solution obtained by the conventional uniform amoeba SAT solution method shown in Figure 8B, the second bogie v2 is stagnant for two operation unit times indicated by the horizontal double-headed arrows: from time 20 to time 21 in cell 18, from time 22 to time 23 in cell 14, and from time 23 to time 24 in cell 6.

[0079] In the solution search system according to the first embodiment, a “highly optimal solution” is a scheduling solution that can complete the transportation of all the carriages in a short time, i.e., a state x where the carriages are stopped at cell i. v,(i,i),p For example, in the conventional uniform amoeba SAT solver shown in FIG. 8B, the state that stops at cell 22 is x 2,(22,22),p = 1. In the case of an automatic transport system for carts in a logistics warehouse, the cart is stopped x v,(i,i),p = 1 represents the amoeba leg x v,(i,i),p,1 In order to make it difficult for the value of 1 to be relatively extended, the probability of the swaying of the leg with the subscript (i,i) should be relatively larger than the probability of the swaying of other amoeba legs (with subscripts (i,j ≠ i)). v,(i,i),p,1 " is the output voltage of a pseudopod unit, which is a radial circuit that mimics the structure of a single-celled amoeba with multiple legs, as shown in Figure 11. By using a multi-legged amoeba computer as shown in Figure 11, the parallelism of the current dynamics flowing through the circuit and the stochastic behavior resulting from the fluctuations of the device are utilized, and a highly optimal solution (schedule) can be selectively obtained with a high probability.

[0080] SAT problems are used in many applications including software / hardware verification, information security related technology, etc., and their importance is expected to increase in the future. The solution search system according to the first embodiment using the new non-uniform amoeba SAT solving method makes it possible to quickly and easily find an optimal solution for scheduling. In the solution search system according to the first embodiment, by reading the propositional logic formula in advance into the register of the feedback control unit 13, it becomes possible to obtain the solution by a similar method. For example, problems such as the Hamiltonian cycle problem and the knapsack problem can be converted into SAT problems and solved, and the feedback control unit 13 may be provided with these conversion functions. As a result, even if search problem information other than the SAT problem is input, it is also possible to find a solution by converting it into a SAT problem. Any conventional method can be adopted as a method for converting a search problem other than the SAT problem into a SAT problem.

[0081] The SAT problem is executed based on three constraint rules defined by the Amoeba algorithm: INTRA, INTER, and CONTRA, but the solution search system according to the first embodiment has the remarkable effect of being able to reach the optimal solution even if the CONTRA rule is deleted, as described above. That is, even if the CONTRA rule, which is the largest in size and requires high implementation costs such as memory space, circuit area, wiring, etc., is deleted, the optimal solution can be obtained by controlling the state value of the output adjustment signal (bounce-back signal).

[0082] Here, three constraint rules of the amoeba computer, "intra rule", "inter rule" and "contra rule", will be explained. For example, the tandem connection sets of the first set consisting of the first data generation unit 11-1 and the first data conversion unit 12-1, the second set consisting of the second data generation unit 11-2 and the second data conversion unit 12-2, ..., and the eighth set consisting of the eighth data generation unit 11-i and the eighth data conversion unit 12-i in the solution search system according to the first embodiment shown in Fig. 9 correspond to one of the eight pseudopod units each having a series circuit of a resistor and a diode as shown in Fig. 11. As shown in Fig. 9, it is assumed that the assignment of a value to one of four variables x1, x2, x3, and x4 is expressed by the output from a pair of two data conversion units.

[0083] That is, in the solution search system according to the first embodiment, as shown in Fig. 9, a pair of two units, the first data conversion unit 12a and the second data conversion unit 12b, arranged first and second from the top, represents one variable x1. A pair of two units, the third data conversion unit 12c and the fourth data conversion unit 12d, arranged third and fourth from the top, represents one variable x2. A pair of two units, the fifth data conversion unit 12e and the sixth data conversion unit 12f, arranged fifth and sixth from the top, represents one variable x3. A pair of two units, the seventh data conversion unit 12g and the eighth data conversion unit 12h, arranged seventh and eighth from the top, represents one variable x4.

[0084] In FIG. 9, the true / false values ​​("0" or "1") of four variables x1, x2, x3, and x4 are expressed by the states of eight first data generation units 11a to eighth data generation units 11h corresponding to the eight legs of the unicellular amoeba, and eight first data conversion units 12a to eighth data conversion units 12h that read the data output from the first data generation units 11a to eighth data generation units 11h. As can be seen from FIG. 9, generally, when expressing the true / false values ​​of N variables, 2N data generation units and 2N data conversion units that read the data output from these data generation units are required. In FIG. 9, the odd-numbered first data conversion unit 12a, third data conversion unit 12c, fifth data conversion unit 12e, and seventh data conversion unit 12g convert the true / false values ​​of the variables x1 to x4 into the values ​​of the variables x1 to x4. i In addition, the even-numbered second data conversion unit 12b, fourth data conversion unit 12d, sixth data conversion unit 12f, and eighth data conversion unit 12h are assigned the value "0". i is assigned the value "1".

[0085] 9, when it is desired to express the boolean value assignment of four variables x1, x2, x3, x4 by the first data conversion unit 12a to the eighth data conversion unit 12h, for example, when only the even-numbered second data conversion unit 12b, the fourth data conversion unit 12d, the sixth data conversion unit 12f, and the eighth data conversion unit 12h take values ​​greater than a predetermined threshold (e.g., greater than "0"), and the odd-numbered first data conversion unit 12a, the third data conversion unit 12c, the fifth data conversion unit 12e, and the seventh data conversion unit 12g take values ​​less than a predetermined threshold (e.g., less than "0"), the boolean value assignment (x1, x2, x3, x4) = (1, 1, 1, 1) is expressed. 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 represents the boolean value assignment (0101). Also, 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 a value greater than the predetermined threshold, this represents a true / false value assignment (1010).

[0086] In the case of using 2N data conversion units that represent the truth-value assignment of N variables as shown in Figure 9, an "intra-rule" is a rule that i When focusing on a pair of data conversion units that represent the truth value of i This is a constraint rule that supplies an output adjustment signal (bounce-back signal) to prevent the occurrence of a contradiction (where the variable x is both "0" and "1"). iIf one of the pair of data conversion units corresponding to x1 takes a positive value, the output adjustment signal is supplied to the corresponding data generation unit so that the other data conversion unit does not take a positive value. FIG. 15(a) shows the intra-rules of the propositional logic formula shown in FIG. 5 in the form of eight conditional expressions. For example, when the data conversion unit corresponding to “0” of x1 takes a value greater than a predetermined threshold, an output adjustment signal is supplied to the corresponding data generation unit to inhibit the data conversion unit corresponding to “1” of x1 from taking a value greater than the predetermined threshold. Similarly, when the data conversion unit corresponding to “1” of x1 takes a value greater than a predetermined threshold, an output adjustment signal is supplied to the corresponding data generation unit to inhibit the data conversion unit corresponding to “0” of x1 from taking a value greater than the predetermined threshold.

[0087] An "inter rule" is a constraint rule that supplies an output adjustment signal (bounce-back signal) based on given search problem information. Figure 15(b) shows the inter rules of the propositional logic formula shown in Figure 5 in 13 conditional expressions. For example, when F11 = (x1 or ~x2) in Figure 5 is taken, if the data conversion unit corresponding to "1" of x2 is excited to a value greater than a predetermined threshold, an output adjustment signal is supplied to the corresponding data generation unit to inhibit the data conversion unit corresponding to "0" of x1 from taking a value greater than the predetermined threshold. Similarly, if the data conversion unit corresponding to "0" of x1 is excited to a value greater than a predetermined threshold, an output adjustment signal is supplied to the corresponding data generation unit to inhibit the data conversion unit corresponding to "1" of x2 from taking a value greater than the predetermined threshold.

[0088] A "contra rule" is a constraint rule that supplies an output adjustment signal to resolve logical contradictions that arise when attempting to control the supply of an output adjustment signal (bounce-back signal) based on an inter rule. For example, in the case of the propositional logic formula shown in Figure 5, Boolean formula F11 = (x1 or ~x2) that cancels the state where x1 is "0" when x2 is "1", Boolean formula F13 = (x1 or x3) that cancels the state where x1 is "0" when x3 is "0", and Boolean formula F16 = (~x1 or x4) that cancels the state where x1 is "1" when x4 is "0" are defined. For this reason, for example, when x2 is "1" and x4 is "0", a logical contradiction occurs in which both the state where x1 is "0" and the state where x1 is "1" are canceled. To prevent such a situation, a contra rule is used to control in such a case so that the state where x2 is "1" and the state where x4 is "0" do not occur simultaneously. Similarly, if x3 is "0" and x4 is "0", a contradiction occurs in which the state of x1 is not allowed to be either "0" or "1". To prevent this situation, a contra rule is used to prevent the simultaneous occurrence of the states x3 being "0" and x4 being "0".

[0089] In addition, in the propositional logic formula shown in FIG. 5, a Boolean formula F12=(~x2 or x3 or ~x4) is defined to cancel the state where x3 is "0" when x2 is "1" and x4 is "1". Similarly, a Boolean formula F14=(x2 or ~x3) is defined to cancel the state where x3 is "1" when x2 is "0". Therefore, when x2 is "1", x4 is "1", and x2 is "0", x3 cannot be either "0" or "1", and a logical contradiction occurs. In such a case, the contra rule is used to control so that the states where x2 is "1", x4 is "1", and x2 is "0" do not occur simultaneously. Figure 15(c) shows the contra rule of the propositional logic formula shown in FIG. 5 using nine conditional formulas. Contra rules are a set of constraint rules obtained by enumerating combinations of states in which each variable is prohibited from taking either the value "true" or "false" in the inter rules applied to the Boolean formula that controls the supply of the output adjustment signal (bounce-back signal) based on the search problem information. The solution search system according to the first embodiment has the remarkable effect of being able to delete these contra rules.

[0090] One of the features of the solution search system according to the first embodiment is that it can obtain a highly optimal solution without the need to apply the contra rule. The conventional system requiring the application of the "contra rule" and the configuration of the solution search system according to the first embodiment that does not require the "contra rule" handle the output adjustment signal differently. In the case of the conventional technology requiring the application of the "contra rule," as shown in FIG. 17, "i" is replaced by the variable x i The subscript i is any one of 1 to 4, and “b” is binary data = “0” or “1”, and for each i and b, the output adjustment signal L determined by the output adjustment unit 149 is i,b is input as it is to the first data generating unit 11-1 to the eighth data generating unit 11-8. Then, the first data generating unit 11-1 to the eighth data generating unit 11-8 output adjustment signal L i,b and fluctuation probability data Z i,b From binary data S i,b= "0" or "1" will be determined and output.

[0091] In contrast, in the solution search system according to the first embodiment, as already explained with reference to FIG. i For the subscript i of the output regulation signal L′, the main output regulation circuit 140 in the output regulation unit 14 determines the two “provisionally determined” output regulation signals L′. i,0 and output adjustment signal L' i,1 is input to the first signal conditioning circuit 141 to the fourth signal conditioning circuit 144, and the first signal conditioning circuit 141 to the fourth signal conditioning circuit 144 i,0 and output adjustment signal L' i,1 Both are 1(L' i,0 =L' i,1 =1), then the bias probability p i Output adjustment signal L i,0 =0 and output adjustment signal L i,1 = 1, and the bias probability 1-p i Output adjustment signal L i,0 =1 and output adjustment signal L i,1 = 0 and "finally decided", otherwise (L' i,0 =L' i,1 =0 or L' i,0 ≠ L' i,1 ) then output adjustment signal L i,0 =L' i,0 and output adjustment signal L i,1 =L' i,1 The bias probability p i can be set independently for each i (usually p i = 0.5). The first data generating unit 11-1 to the eighth data generating unit 11-8 generate the output adjustment signal L i,b and fluctuation probability data Z i,b From binary data S i,b = Decide and output “0” or “1”.

[0092] FIG. 10 shows the internal structure described in Patent Document 2, and explains a technique for imparting two types of uniform fluctuation to data by the internal structure. In the invention described in Patent Document 2, the multiple data generation units are composed of eight units, namely, the first data generation unit 11-1 to the eighth data generation unit 11-8, and their individual spatial arrangements are explained in the topology shown in FIG. 10. In the invention described in Patent Document 2, the output frequency of binarized data is internally determined depending on the output adjustment signal. In contrast, in the solution search system according to the first embodiment, the output frequency of data can be specified to any value from the outside using the input device 1. In the topology shown in FIG. 10, the number of data generation units to which the output adjustment signal is supplied is defined as the "effective arrangement number num". In the solution search system according to the first embodiment, two types of uniform fluctuation are imparted so that as the effective arrangement number num of the data generation units increases, more "1"s are output from the data generation units to which the output adjustment signal is not supplied.

[0093] 10(a) illustrates a 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 to the eighth data generation unit 11-8. In FIG. 10(a), the effective placement number num=0. Here, when focusing on the sixth data generation unit 11-6, the solution search system according to the first embodiment uses a first fluctuation adjustment parameter β as a parameter for adjusting the fluctuation of the data output from the sixth data generation unit 11-6. - (num) and the second fluctuation adjustment parameter β + (num) is defined to add two types of uniform fluctuation to the data. The first fluctuation adjustment parameter β - (num) and the second fluctuation adjustment parameter β + The value of (num) is determined by the internal structure, which changes as a function of the number of effective configurations, num.

[0094] In the initial step, the setting value of the parameter for adjusting the fluctuation is set as the first fluctuation adjustment parameter β - (0) =0.5, second fluctuation adjustment parameter β+ (0) = 0.5. These setting values ​​are used as the first fluctuation adjustment parameter β - The value (0) means that there is a 50% probability of an error occurring, i.e., when the output adjustment signal is not supplied, the value "0" is generated, which is different from the value induced by the output adjustment signal. + means that there is a 50% probability that a situation occurs in which, in the first data generating unit 11-1 to the eighth data generating unit 11-8, a value different from the value induced by the output adjustment signal is generated, that is, a situation like an "error," in other words, a situation in which a value "1" is generated when an output adjustment signal is supplied. However, such an "error" is an essential operation for searching for various combinations of truth value assignments, and it is important to appropriately adjust the frequency of occurrence of such an error in order to efficiently search for a solution.

[0095] 10(b), it is assumed that 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. At this time, the effective arrangement number num=3. In this case, the setting value of the parameter for adjusting the fluctuation is set to the first fluctuation adjustment parameter β - (3) = 0.25, second fluctuation adjustment parameter β + (3) = 0.05. In this way, in the sixth data generating unit 11-6, the probability that "0" is generated when the output adjustment signal is not supplied is 25%, and the probability that "1" is generated when the output adjustment signal is supplied is 5%. In other words, as the effective arrangement number num increases, the probability of occurrence of a situation such as an "error" is controlled to decrease.

[0096] 10(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, and the effective arrangement number num=4. In this case, the first fluctuation adjustment parameter β - (4) = 0.05, second fluctuation adjustment parameter β + (4) = 0.00, so that in the sixth data generating unit 11-6, the probability of generating "0" when the output adjustment signal is not supplied and the probability of generating "1" when the output adjustment signal is supplied are 5% and 0%, respectively. That is, when the number of valid placements num is further increased, the occurrence probability of a situation such as "error" is controlled to be further decreased.

[0097] The fluctuation adjustment unit of the invention described in Patent Document 2 adjusts two types of uniform fluctuations to be applied to the data output from each of the first data generation unit 11-1 to the eighth data generation unit 11-8 according to the number of the first data generation unit 11-1 to the eighth data generation unit 11-8 to which the output adjustment signal is supplied. Specifically, the first data generation unit 11-1 to the eighth data generation unit 11-8 output binarized digital data of "0" or "1". However, instead of outputting "0" or "1" at equal probability randomly, two types of uniform fluctuations are set so that either "0" or "1" is output more frequently.

[0098] Unlike the invention described in Patent Document 2, in the solution search system according to the first embodiment, the fluctuation probability can be set individually from outside the system for the fluctuation setting unit 16, and the occurrence probability of each variable can be changed. That is, the solution search system according to the first embodiment employs a non-uniform method in which the user can individually input the occurrence probability of each variable in the logical formula used in the conventional uniform ameba SAT solution from outside the system using the input device 21. As explained in FIG. 10, in the uniform ameba SAT solution described in Patent Document 2, the occurrence probability of each variable x i Status x iIn order to make the frequency of occurrence of β = 1 uniform, we assign two uniform values ​​β - (num) and β + In contrast, in the solution search system according to the first embodiment, a specific variable x j For a set of states x j By relatively increasing or decreasing the occurrence frequency of = 1, the user can obtain the optimal solution quickly and with a high probability. i,b can be set.

[0099] The electronic amoeba of the solution search system according to the first embodiment has a structure that imitates a single-celled amoeba of a living organism, and includes, for example, an amoeba core 101 having eight pseudopod units, each of which includes a series circuit of a resistor (first passive element) and a diode (first nonlinear element), as shown in FIG. 11, which has already been described, and a bounce-back control logic circuit 201 that controls the operation of the amoeba core 101, i.e., the non-uniform SAT algorithm. The bounce-back control logic circuit 201 has a function of supplying a bounce-back signal (output adjustment signal) to the eight pseudopod units of the amoeba core 101, and therefore has the function of the output adjustment unit 14 in the configuration of the solution search system according to the first embodiment shown in FIG. 2. However, by comparing FIG. 11 with FIG. 2, it can be seen that the bounce-back control logic circuit 201 also has the functions of the feedback control unit 13, the fluctuation setting unit 16, and the data storage device 22 shown in FIG. 2. The pseudopod units of the amoeba core 101 correspond to the legs of a single-celled amoeba of a living organism.

[0100] The amoeba core 101 expresses the extension and contraction of the multiple legs of a single-celled amoeba by the magnitude of the terminal voltage of an electronic circuit. For example, as shown in FIG. 11, the pseudopod unit can adopt a circuit shape connected to form a radial star network, imitating the topology of a single-celled amoeba. However, FIG. 11 is merely an example, and as long as it is electrically equivalent, the shape of the amoeba core 101 is not limited to the radial star topology shown as an example. In an environment in which undesirable state transitions are prohibited by the bounceback rules output by the bounceback control logic circuit 201, all the legs simultaneously extend and contract in parallel, and a solution is searched for by repeated trial and error. Then, the bounceback signal L from the bounceback control logic circuit 201 1,0 , L 1,1 ,……L 4,0 , L 4,1 When a stable state is reached where all legs to which the inverted signal of is not applied can maintain their extended state, the SAT solution is found. 2N amoeba legs are required to solve an N-variable SAT problem, and each of the terminals on the tip side of the legs of the single-celled amoeba connected to the bounceback control logic circuit 201 is grounded via a ground parallel circuit consisting of a first nMOS transistor (first switching element), a second nMOS transistor (second switching element) and a capacitor (charge storage means), and the output terminal X 1,0 , X 1,1 ,……X 4,0 , X 4,1 The first and second switching elements constitute a discharge control circuit that controls the discharge of the charge stored in the charge storage means (capacitor). The first and second switching elements constituting the discharge control circuit of the ground parallel circuit are merely examples. The discharge control circuit of the ground parallel circuit connected to the tip of the leg of the unicellular amoeba can be replaced with various circuits such as logic gates as long as it has a control function for discharging the charge stored in the charge storage means, and the discharge control circuit can be constituted by various equivalent circuits.

[0101] For example, the output terminal X of the pseudopod unit that determines the value of the variable x1 1,0 and output terminal X 1,1The output terminal of the two-input NOR gate 301 provided between the pair of 1,0 and the ground potential (hereinafter referred to as the "ground parallel circuit"), and at the same time, 1,1 The bounce-back signal (output adjustment signal) L is also input to the control electrode of the second switching element that constitutes the ground parallel circuit of the first switching element. 1,0 The inverted signal of the pseudopod unit is output from terminal X. 1,0 The bounce-back signal L is input to the control electrode of the first switching element that constitutes the ground parallel circuit of the inverter 411. 1,1 The inverted signal of the pseudopod unit is output from terminal X. 1,1 The control electrode of the first switching element that constitutes the ground parallel circuit of the pseudopod unit is connected to the output terminal X 1,0 and output terminal X 1,1 The outputs of these are respectively input to the bounceback control logic circuit 201.

[0102] Similarly, the output terminal X, which is responsible for determining the value of variable x2, 2,0 and output terminal X 2,1 The output terminal of the two-input NOR gate 302 connected between the output terminals X 2,0 a control electrode of the second switching element forming a ground parallel circuit of the output terminal X 2,1 The bounce-back signal L is also input to the control electrode of the second switching element that forms a ground parallel circuit with the inverter 420. 2,0 and bounceback signal L 2,1 The inverted signal of the pseudopod unit is output from terminal X. 2,0 and output terminal X 2,1 The control electrodes of the first switching elements of the respective ground parallel circuits are independently input to the control electrodes of the first switching elements of the respective ground parallel circuits. 2,0 and output terminal X 2,1The outputs of the variable x3 and the variable x4 are respectively input to the bounceback control logic circuit 201. Similarly, the output terminal X 3,0 and output terminal X 3,1 The output terminal of the two-input NOR gate between 3,0 the control electrode of the second switching element of the grounded parallel circuit of the output terminal X 3,1 The bounceback signal L 3,0 and bounceback signal L 3,1 The inverted signal of is output to the output terminal X 3,0 and output terminal X 3,1 The control electrodes of the first switching elements of the respective ground parallel circuits are independently input to the control electrodes of the first switching elements of the respective ground parallel circuits. 3,0 and output terminal X 3,1 The outputs of these are respectively input to the bounceback control logic circuit 201.

[0103] Similarly, the output terminal X, which determines the value of the variable x4, 4,0 and output terminal X 4,1 The output terminal of the two-input NOR gate between 4,0 the control electrode of the second switching element of the grounded parallel circuit of the output terminal X 4,1 The control electrodes of the second switching elements of the ground parallel circuits are input together, and the bounceback signal L is output via inverters 440 and 441. 4,0 and bounceback signal L 4,1 The inverted signal of is output to the output terminal X 4,0 and output terminal X 4,1 The control electrodes of the first switching elements of the respective ground parallel circuits are independently input to the control electrodes of the first switching elements of the respective ground parallel circuits. 4,0 and output terminal X 4,1 The outputs of the respective bounceback signals L 1,0 , L 1,1 ,……L 4,0 , L 4,1The inverted signal of is input independently to each of the control electrodes of the first switching elements of the ground parallel circuit of the eight pseudopod units, changing the conductive state of each corresponding first switching element. Then, just as a single-celled amoeba that survives in the natural world changes the length of its legs to adapt to the environment, the output terminal X of the pseudopod unit that constitutes the electronic circuit that mimics an amoeba is 1,0 , X 1,1 ,……X 4,0 , X 4,1 The output of the bounceback signal L 1,0 , L 1,1 ,……L 4,0 , L 4,1 By changing depending on the environment, complex combinatorial optimization problems can be solved quickly using biological computer algorithms.

[0104] A current I is supplied to the center (hub) of the star network, and the supplied current I is distributed to two or more pseudopod units. Although not shown, the bounceback control logic circuit 201 has a memory (see data storage device 22 in FIG. 2) in which bounceback rules are stored. The "bounceback rules" may be said to be rules equivalent to the "given constraint conditions" of a unicellular amoeba. The bounceback rules may be incorporated into a program (see program storage device 25 in FIG. 2). Furthermore, the logical functions described in the program may be directly implemented by a programmable logic device (PLD) such as a field programmable gate array (FPGA) or a circuit using logic gates.

[0105] A current I is input to each pseudopod unit, and the output terminal X of each pseudopod unit 1,0 , X 1,1 ,……X 4,0 , X 4,1 The output of each pseudopod unit is provided to a controller in the bounceback control logic circuit 201. The controller receives the output terminal X 1,0 , X 1,1 ,……X 4,0 , X 4,1 The feedback signal L based on the bounceback rule is 1,0 , L1,1 ,……L 4,0 , L 4,1 is generated as a "bounce back signal (output adjustment signal)". The generated feedback signal L 1,0 , L 1,1 ,……L 4,0 , L 4,1 Each of the inverted signals of the feedback signal L is provided to the control electrode of the first switching element of the ground parallel circuit of each pseudopod unit. 1,0 , L 1,1 ,……L 4,0 , L 4,1 is the signal for updating the state variables, and is output from the output terminal X 1,0 , X 1,1 ,……X 4,0 , X 4,1 By changing the output of the , it mimics the behavior of changing the leg extension state of a single-celled organism called an amoeba.

[0106] In this way, the solution search system according to the first embodiment can provide an algorithm for quickly solving complex combinatorial optimization problems such as the traveling salesman problem and the SAT problem using an electronic amoeba circuit that imitates a single-celled amoeba, and the processing in the bounceback control logic circuit 201 does not require processing equivalent to the contra rule. On the other hand, in the amoeba core 100 according to the conventional technology shown in FIG. 18, the output terminal X 1,0 , X 1,1 ,……X 4,0 , X 4,1 Each of these is grounded by a ground parallel circuit of a switching element (first switching element) and a capacitor (charge storage means), and therefore has a circuit topology different from the ground parallel circuit of the solution search system according to the first embodiment shown in FIG. 11. In the conventional ameba core 100, an independent bounceback signal L 1,0 , L 1,1 ,……L 4,0 , L 4,1 By inputting the inverted signal of each pseudopod unit independently, the output terminal X 1,0 , X1,1 ,……X 4,0 , X 4,1 The output value of is determined.

[0107] That is, in the conventional ameba core 100 shown in FIG. 18, the bounceback signal L 3,0 The inverted signal of is output to the output terminal X 3,0 The bounce-back signal L is input to the control electrode of the switching element (first switching element) of the ground parallel circuit of the first switching element. 2,1 and bounceback signal L 2,0 The inverted signal of the pseudopod unit is output from terminal X. 2,1 and output terminal X 2,0 The bounceback signal L is input to the control electrodes of the switching elements of the respective ground parallel circuits. 1,1 and bounceback signal L 1,0 The inverted signal of the pseudopod unit is output from terminal X. 1,1 and output terminal X 1,0 The bounce-back signal L is input to the control electrode of the switching element that constitutes the ground parallel circuit of the inverter 541 and the inverter 540. 4,1 and bounceback signal L 4,0 The inverted signal of is output to the output terminal X 4,1 and output terminal X 4,0 The bounceback signal L is input to the control electrodes of the switching elements of the respective ground parallel circuits. 3,1 The inverted signal of is output to the output terminal X 3,1 The control electrodes of the switching elements of the grounded parallel circuits are independently input.

[0108] Set "i" to variable x i In the conventional ameba core 100 shown in FIG. 18, each variable x i The output terminal X is responsible for determining the value of i,0 and X i,1The input terminals of the two-input NOR gate shown in FIG. 11 are not connected between the output terminals X 1,0 , X 1,1 ,……X 4,0 , X 4,1 Since the output values ​​of each of the switching elements (first switching elements) constituting each ground parallel circuit are simply fed back to the control electrodes of the switching elements (first switching elements) constituting each ground parallel circuit, the conventional ameba core 100 requires the application of a contra rule. In contrast, in the solution search system according to the first embodiment, as shown in FIG. 11, two-input NOR gates 301, 302, 303, and 304 are connected to the corresponding output terminals X i,0 and output terminal X i,1 By using it between each of the output terminals X i,0 and output terminal X i,1 The output of i,0 = X i,1 When the output terminal X i,0 and output terminal X i,1 The output of i,0 = 1 or X i,1 = 1, making it possible to induce a probabilistic transition to one of the states, eliminating the need for a contra rule.

[0109] Here, taking the examples described in Figs. 7A, 7B, 8A, and 8B, an example of setting the occurrence probability in the optimization of an automated transport system will be described. For example, state x, which indicates that a cart v moves from cell i to cell j at time p, v,(i,j),p = 1, the state x represents that the cart v is parked in the cell i at time p. v,(i,i),p So that the probability of ε = 1 being realized is low, we set the fluctuation probability as ε v,(i,i),p,1 >ε v,(i,j),p,1 By setting it as , it is possible to obtain a highly “optimal” solution with fewer stalled states of the trolley.

[0110] In the optimization of the automated guided transport system according to the first embodiment, a highly “optimal” solution (trajectory or schedule) is a solution that can complete the transportation of all the carriages in a shorter time, that is, a state x where the carriages stop in cell i as shown in FIG. 8A. v,(i,i),p = 1. Therefore, the stationary state of the cart x v,(i,i),p = 1 represents the amoeba leg X v,(i,i),p,1 In order to make it difficult for the value of “1” to be relatively extended, the fluctuation probability of the foot with the subscript (i,i) is made relatively larger than the fluctuation probability of the other feet (with the subscript (i,j≠i)). v,(i,i),p,1 >ε v,(i,j),p,1 By setting, a highly “optimal” solution (trajectory or schedule) can be selectively obtained with a high probability.

[0111] In the solution search system according to the first embodiment, a variable y i and the constraint of the implication form "y i = b and x j = b', then x k =b''. i If you set the value of b to be fixed at "0" or "1", the program variable y i If and only if x = b, the antecedent of the constraint can be true, and "x j = b', then x k =b'' and the program variable y i = 1-b, the antecedent of the constraint becomes false, and the constraint whose antecedent is false can be invalidated. In this way, the program variable y i Since the constraints can be enabled or disabled simply by changing the fixed value of , it is possible to search for solutions to various different problem instances without changing the hardware, i.e., with the same circuit.

[0112] For example, when a solution is sought using the propositional formula F2 shown in FIG. 12(a), the solutions to the propositional formula F2 are (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 search variables. FIG. 12(b) shows that the propositional formula shown in FIG. 12(a) is expressed as the logical product of constraints in the implication form, but that the constraints at the end of the second line and the end of the fifth line are omitted by fixing the program variable y4 = 0 as part of the formula shown in FIG. 6(b). If we fix y4 = 0 and search for a solution, the results will be narrowed down to three solutions: (x1, x2, x3, y4) = (1, 1, 1, 0), (1, 1, 0, 0), and (1, 0, 0, 0). Figure 12(a) shows that it is possible to search for solutions to various different problem instances just by changing the fixed value of the program variable y4.

[0113] The program variable y as shown in Fig. 12(a) i Figure 13 shows an example of applying the method of expressing various problem instances by changing the program variable y F v,i,s ,y T v,j,s FIG. 14 shows an example in which is fixed. The horizontal axis of FIG. 13(a) is a time axis with the operation unit time as the cell size, as in FIG. 7B and others. In FIG. 13(a), an array of 28 operation unit times consisting of time 0 to time 27, each of which constitutes an operation unit time, is shown on the horizontal axis. The vertical axis of FIG. 13(a) is a coordinate axis in which the movement from cell i to cell j in the two-dimensional array of unit transport sections (cells) in a logistics warehouse is represented as edge (i,j), and the edge (i,j) is converted into a one-dimensional array. The arrows in the cells as shown in FIG. 7A indicate restrictions on the movement direction, but when the cart is stopped at a specific cell i, it is represented as edge (i,i) and included in the array on the vertical axis. In the optimal scheduling shown in FIG. 13(a), the cell shown with hatching slanting upwards to the left indicates the first cart v1. The movement of cart v from cell i to cell j is represented as xv,(i,j),p = 1, and stopping at cell i is denoted as x v,(i,i),p = 1. As shown in Fig. 13(a), the first cart v1, indicated by the hatching slanting from left to right, moves from cell 4 to cell 3 at time 2, and moves from cell 3 to cell 2 at time 3. Although the intermediate steps are omitted, the first cart v1, indicated by the hatching slanting from left to right, remains in cell 77 from time 25 to time 27.

[0114] The vertical axis of FIG. 14(a) is the coordinate axis obtained by converting the two-dimensional array of unit transport sections (cells) in the logistics warehouse into a one-dimensional array of cells 1 to 80. In FIG. 14(a), the cells shown in gray represent the program variable y I v,i As shown in Fig. 14(a), the first cart v1 is designated (programmed) to be located at cell 2 at time 1.

[0115] The horizontal axis of FIG. 14(b) is a time axis with the operation unit time as the cell size, and an array of 10 operation unit times consisting of 1 operation unit time to 10 operation unit times is shown on the horizontal axis. The vertical axis of FIG. 14(b) is a coordinate axis converted into a one-dimensional array from cell 1 to cell 80 in a two-dimensional array of unit transport sections (cells) in a logistics warehouse. FIG. 14(b) shows the program variable y F v,i,s is fixed, cart v is specified (programmed) to stay at loading point cell 4 (F6), indicated by hatching slanting downwards to the left, for four operation unit times. The horizontal axis in Fig. 14(c) is also a time axis with the operation unit time as the cell size, and an array of 10 operation unit times consisting of 1 operation unit time to 10 operation unit times is shown on the horizontal axis. The vertical axis in Fig. 14(c) is a coordinate axis converted into a one-dimensional array from cell 1 to cell 80 in a two-dimensional array of unit transport sections (cells) in a logistics warehouse. Fig. 14(c) shows the program variable y T v,j,s is fixed, the cart v is designated (programmed) to stay at the unloading point cell 66 (T7) indicated by the upward slanting hatching for four operation units.

[0116] As can be seen from a comparison between Figures 13 and 14, according to the solution search system of the first embodiment, the number of carts, the initial positions of the carts, the loading points, the unloading points, the loading time, the unloading time, etc. can be set arbitrarily by changing the values ​​of program variables, and optimal solutions can be searched for for instances with various different cart transportation requirements.

[0117] The solution search system according to the first embodiment can be embodied as a circuit that enables faster calculation. When embodied as such a circuit, the optimization algorithm configuration may be set based on an application specific integrated circuit (ASIC), an FPGA, or the like. In addition, the solution search system according to the first embodiment may be embodied as a solution search program other than when embodied as a solution search system. In such a case, each component of the above-mentioned data conversion units 12-1, 12-2, ... 12-i, feedback control unit 13, output adjustment unit 14, and fluctuation setting unit 16 is executed for the virtually generated logical data generation units 11-1, 11-2, ... 11-i in each step of the program, thereby making it possible to embody logical functions equivalent to hardware resources.

[0118] Furthermore, in the solution search system according to the first embodiment, the feedback control unit 13 may be a circuit constituting part of a central processing unit (CPU), or, instead of a device having such advanced information processing capabilities, may be realized by any simple means such as a so-called switch that has only the function of converting inputs from the data conversion units 12-1, 12-2, ... 12-i based on rules and supplying outputs to the data generation units 11-1, 11-2, ... 11-i.

[0119] In this way, by using the SAT algorithm of the solution search system according to the first embodiment, it is possible to arrive at a solution even if the constraint rule, which is a constraint regulation, is deleted by expressing the constraint condition in an implication form, and therefore it is possible to solve the SAT problem without complicating the optimization algorithm. In addition, by adopting a method that allows the "occurrence probability" of each variable state to be input individually and a method that solves various problem instances by changing the "program variables", it is possible to eliminate the need to create an ASIC or synthesize an FPGA for each instance. In other words, according to the solution search system according to the first embodiment, when various real-world scheduling problems are formulated as SAT problems, it is possible to solve SAT problems for different instances quickly and efficiently using the same circuit.

[0120] (Hybrid solution search system according to the second embodiment) According to the solution search system, solution search method, and solution search program of the first embodiment described above, when various real-world scheduling problems are formulated as SAT problems, it is possible to solve the "social scheduling optimization problem" quickly and efficiently with the same circuit for different instances without complicating the algorithm. However, for example, as in a logistics warehouse transportation system optimization problem in which hundreds of carts loaded with luggage need to efficiently deliver goods while responding to transportation requests that are updated every moment, if the number of variables and constraint rules such as intra-rules for finding the SAT solution becomes enormous, the required hardware resource usage will also become enormous, and the costs for finding the optimal solution quickly and efficiently will increase. Therefore, a calculation method is required that can reduce the number of variables and constraint rules for finding the SAT solution, suppress the hardware resource usage, and find the optimal solution quickly and efficiently at low cost.

[0121] The terms "social scheduling optimization problem", "combinatorial optimization problem", "SAT problem", "amoeba computer", "amoeba SAT solution" and the like defined at the beginning of the first embodiment are similarly applicable to the hybrid solution search system according to the second embodiment. However, although the traveling salesman problem (TSP) and the like are excluded in the explanation of Fig. 1 at the beginning of the first embodiment, the hybrid solution search system according to the second embodiment of the present invention will be explained in a form including the TSP.

[0122] For example, the solution method of the ameba computer that solves the TSP is called the "ameba TSP solution method," and the hybrid solution search system according to the second embodiment will be described below. In the hybrid solution search system according to the second embodiment, a hybrid optimal solution calculation method that can quickly and efficiently find an optimal solution when solving a "social scheduling optimization problem" using a solution method (ameba SAT solution method) using the solution search system according to the first embodiment, or various solution methods other than the ameba SAT solution method such as the ameba TSP solution, even when the number of variables and constraint rules increases and the amount of hardware resources used increases, will be described. The calculation method of the hybrid solution search system according to the second embodiment does not necessarily require the use of the ameba SAT solution method of the solution search system according to the first embodiment, but if used in a hybrid mode combined with the ameba SAT solution method, it is possible to achieve the effect of finding an optimal solution more quickly and efficiently.

[0123] First, an overview of a system (optimum solution calculation system) for executing a hybrid type optimum solution calculation method according to the second embodiment will be described. As shown in FIG. 19, the hybrid type optimum solution calculation system according to 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 type solution search system according to the second embodiment corresponds to, for example, the area surrounded by the dotted line in FIG. 2 described in the solution search system according to the first embodiment. However, the central processing unit 1 of the hybrid type solution search system according to the second embodiment includes two arithmetic logic circuits, a first solution search arithmetic logic circuit 1A and a second solution search arithmetic logic circuit 1B, and enables operation in hybrid mode. The first solution search arithmetic logic circuit 1A has, for example, the function of the solution search system according to the first embodiment, and is capable of executing the ameba SAT solution method.

[0124] Therefore, the first solution search arithmetic logic circuit 1A includes 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 fluctuation setting unit 16 in Fig. 2. The second solution search arithmetic logic circuit 1B is an arithmetic logic circuit having a configuration and function other than that of the solution search system according to the first embodiment, and is an arithmetic logic circuit capable of executing a solution other than the ameba SAT solution, such as the CL-Ameba SAT solution and the ameba TSP solution, which are excluded in Fig. 1. The "CL-Ameba SAT solution" means the "circuit level ameba SAT solution" which was explained as being excluded in the explanation of Fig. 1. Furthermore, the second solution search arithmetic logic circuit 1B can also execute other solving methods having procedures and effects other than the CL-Amoeba SAT solving method and the Amoeba TSP solving method.

[0125] In addition, in the hybrid type solution search system according to the second embodiment of FIG. 19, by providing logic circuits having different configurations and functions, namely, the first solution search operation logic circuit 1A and the second solution search operation logic circuit 1B, it is possible to execute a hybrid mode in which the Ameba SAT solution method and other solution methods are selected. When only the Ameba SAT solution method is used in the optimum solution calculation method described later, only the first solution search operation logic circuit 1A can be used, and the second solution search operation logic circuit 1B can be omitted. When only a solution method other than the Ameba SAT solution method is used in the hybrid type optimum solution calculation, a mode in which only the second solution search operation logic circuit 1B is used and the first solution search operation logic circuit 1A is omitted can be adopted. Furthermore, when both the Ameba SAT solution method and other solution methods are used in the hybrid type optimum solution calculation, the two first solution search operation logic circuit 1A and the second solution search operation logic circuit 1B can be made to coexist. Although not shown in FIG. 19, a wider range of hybrid mode operation can be realized by adding other solution search operation logic circuits such as a third solution search operation logic circuit and a fourth solution search operation logic circuit in addition to the first solution search operation logic circuit 1A and the second solution search operation logic circuit 1B.

[0126] In FIG. 19, information inputted through the input device 21 is stored in the data storage device 22 via a bus. The information stored in the data storage device 22 is provided to each of the first solution search operation logic circuit 1A and the second solution search operation logic circuit 1B via the bus. The control unit 17 controls the operation in the hybrid mode in each of the first solution search operation logic circuit 1A and the second solution search operation logic circuit 1B according to the solution search program stored in the program storage device 25 along the time series outputted from the sequence circuit. The program storage device 25 stores a solution search program related to the Ameba SAT solution method executed by the first solution search operation logic circuit 1A and a solution search program related to a solution method other than the Ameba SAT solution method executed by the second solution search operation logic circuit 1B. When an optimal solution is obtained in the first solution search operation logic circuit 1A or the second solution search operation logic circuit 1B, it is displayed via the display device 23 or the output device 24.

[0127] As shown in FIG. 20, the control unit 17 includes a trajectory generator (generation unit) command control circuit 17G, a conflict tabulator (counting unit) command control circuit 17T, and a conflict resolver (resolution unit) command control circuit 17R. The trajectory generator command control circuit 17G commands and controls the operation of the first solution search operation logic circuit 1A or the second solution search operation logic circuit 1B so as to generate the most efficient initial trajectory (initial solution) independently for each target for which an optimal solution (trajectory) is sought for the optimization problem. In general, when optimizing a "route", for example, in the automatic transport system described in the first embodiment, collisions between automatic transport vehicles and congestion are not taken into consideration. That is, in optimizing a route, only a moving route that can minimize the cost for each automatic transport vehicle independently, that is, spatial information, is sought. On the other hand, in the hybrid solution search system according to the second embodiment, optimizing a "route" means, in the example of an automatic transport system, the task of seeking a total operation schedule that can avoid collisions between automatic transport vehicles and congestion.

[0128] That is, in the case of optimizing the trajectory of an automatic transport system, it means a calculation to obtain the passing time and staying time at all passing points, that is, the spatial information and time information of all automatic transport vehicles. Taking the transport vehicle scheduling problem of the transport system by the automatic transport vehicles in the logistics warehouse described in the first embodiment as an example, the target for which the optimal solution is to be obtained is each transport vehicle. In addition, the trajectory generation unit command control circuit 17G commands and controls the operation of the first solution search operation logic circuit 1A or the second solution search operation logic circuit 1B so as to generate k types (k is a positive integer of 2 or more) of alternative trajectories (alternative solutions) of the initial trajectory for each target. Furthermore, based on information from the conflict counting unit command control circuit 17T, the trajectory generation unit command control circuit 17G uses the first solution search operation logic circuit 1A or the second solution search operation logic circuit 1B to update the conflicting alternative trajectories by the ameba SAT solution method or other solution method, and generates k types of alternative trajectories.

[0129] The conflict counting unit instruction control circuit 17T commands and controls the operation of the first solution search operation logic circuit 1A or the second solution search operation logic circuit 1B so as to list conflicts (event competing states) between the initial trajectories generated by the trajectory generating unit instruction control circuit 17G. The conflict counting unit instruction control circuit 17T also commands and controls the operation of the first solution search operation logic circuit 1A or the second solution search operation logic circuit 1B so as to detect the presence or absence of conflicts for all pairs of alternative trajectories generated by the trajectory generating unit instruction control circuit 17G and tabulate the results. Furthermore, the conflict counting unit instruction control circuit 17T commands and controls the operation of the first solution search operation logic circuit 1A or the second solution search operation logic circuit 1B so as to provide information regarding conflicts to the trajectory generating unit instruction control circuit 17G. The conflict resolution unit instruction control circuit 17R instructs and controls the operation of the first solution search operation logic circuit 1A or the second solution search operation logic circuit 1B so as to search for a combination of alternative trajectories that can resolve the conflict based on the conflict information tabulated by the conflict counting unit instruction control circuit 17T. The conflict resolution unit instruction control circuit 17R also checks whether or not a combination of alternative trajectories that does not cause a conflict (optimal solution) exists, and when no optimal solution exists, instructs and controls the operation of the first solution search operation logic circuit 1A or the second solution search operation logic circuit 1B so as to search for a combination of alternative trajectories that can resolve the conflict until the number of searches reaches an upper limit value.

[0130] Next, an optimal solution calculation method in a hybrid mode using an optimal solution calculation system according to the second embodiment will be described. The optimal solution calculation method according to the second embodiment is mainly executed by the first solution search operation logic circuit 1A and the second solution search operation logic circuit 1B by command signals transmitted from the trajectory generation unit command control circuit 17G, the conflict counting unit command control circuit 17T, and the conflict resolution unit command control circuit 17R in the control unit 17. As shown in the flowchart of FIG. 21, first, in step S201, the trajectory generation unit command control circuit 17G commands and controls the operation of the first solution search operation logic circuit 1A or the second solution search operation logic circuit 1B so as to independently determine the most efficient initial trajectory for each target for which an optimal solution (trajectory) is to be obtained for the optimization problem. Then, in step S202, the conflict counting unit command control circuit 17T commands and controls the operation of the first solution search operation logic circuit 1A or the second solution search operation logic circuit 1B so as to enumerate conflicts between the initial trajectories determined in step S201.

[0131] Taking the transport cart scheduling problem of the transport system by the automatic transport cart in the logistics warehouse described in the first embodiment as an example, a conflict is, for example, a state in which a plurality of different carts are present in the same cell at the same time. After that, in step S203, the trajectory generation unit command control circuit 17G commands and controls the operation of the first solution search operation logic circuit 1A or the second solution search operation logic circuit 1B so as to generate a total of k types (k=0 to K-1) of alternative plans (alternative trajectories) of trajectories that can avoid conflicts for each target, including the initial trajectory determined in step S201, based on the conflict information listed in step S202. The amoeba core 101 shown in FIG. 11 used in the description of the solution search system according to the first embodiment corresponds to the structure of a single-celled amoeba.

[0132] In the structure shown in Fig. 11, the fluctuation setting unit 16 in Fig. 2 is incorporated in the bounce-back control logic circuit 201, but the set of the ameba core 101 and the fluctuation setting unit 16 corresponding to this ameba core 101 becomes a logic operation circuit as a solution search operation circuit core that constitutes the central processing unit 1 in Fig. 19. In other words, the solution search operation circuit core is constituted by the set of the ameba core 101 and the fluctuation setting unit 16 corresponding to this ameba core 101, and the central processing unit 1 in Fig. 19 can be constituted by a multicellular amoeba that is an assembly of multiple solution search operation circuit cores. The structure of this multicellular amoeba corresponds to an assembly of multiple solution search operation circuit cores that perform parallel calculations.

[0133] For generating k types of alternatives (alternative trajectories) in step S203, it is preferable to use k solution search logic circuits according to the first embodiment (hereinafter referred to as "Amoeba SAT-G") built into the first solution search arithmetic logic circuit 1A. That is, for the arithmetic processing in step S203, it is preferable to perform the operation of a "multicellular ameba" using multiple amebas (Amoeba SAT-G) built into the first solution search arithmetic logic circuit 1A in order to generate k types of alternatives (alternative trajectories) in a short time. In step S203, when the first solution search arithmetic logic circuit 1A having the configuration of a multicellular ameba made of Amoeba SAT-G generates k types of alternatives (alternative trajectories), the first solution search arithmetic logic circuit 1A functions as a "trajectory generation solution search arithmetic circuit". In step S204, the conflict counting unit command control circuit 17T commands and controls the operation of the first solution search operation logic circuit 1A or the second solution search operation logic circuit 1B to detect the presence or absence of conflicts for all pairs of alternative trajectories generated in step S203 and tabulate the results. This tabulated conflict information includes information about when and where each target trajectory conflicts with the other target trajectory.

[0134] Then, the conflict resolution unit instruction control circuit 17R instructs and controls the operation of the first solution search operation logic circuit 1A or the second solution search operation logic circuit 1B to search for a combination of alternative trajectories that can resolve the conflict in step S205 based on the conflict information tabulated in step S204. In the hybrid type optimal solution calculation method according to the second embodiment, in step S205 in which the conflict resolution unit instruction control circuit 17R searches for a combination of alternative trajectories that can resolve the conflict, the first solution search operation logic circuit 1A in FIG. 19 can be commanded and controlled to use the Ameba SAT solution. In the hybrid type solution search system according to the second embodiment, the operation logic that searches for a combination of alternative trajectories that can resolve the conflict using the Ameba SAT solution is called "Ameba SAT-R". In step S205, when the first solution search operation logic circuit 1A is searching for a combination of alternative trajectories that can resolve the conflict, the first solution search operation logic circuit 1A functions as a "conflict resolution solution search operation circuit". The amoeba SAT-R may be a unicellular amoeba different from the amoeba SAT-G which is composed of multicellular amoebas, or a part of the multicellular amoeba may be used as the amoeba SAT-G and the remaining part may be used as the amoeba SAT-R.

[0135] Furthermore, if the timing at which the ameba SAT-G and the ameba SAT-R do not simultaneously perform calculation processing can be guaranteed, a part of the multicellular ameba constituting the ameba SAT-G may be used as the ameba SAT-R in a time-division manner. That is, the first solution search arithmetic logic circuit 1A is logically capable of functioning as the ameba SAT-G constituting the trajectory generation ALU, and also functioning as the conflict resolution ALU constituting the ameba SAT-R. The ameba SAT solving method can search for a combination of alternative trajectories that reflect the objective function and various constraints, such as increasing the probability of extending a leg that can reduce the value of the objective function, and therefore can provide an effect of being able to quickly and efficiently search for an optimal solution (a combination of alternative trajectories that can resolve conflicts) for different instances with the same circuit without complicating the algorithm. However, in the hybrid type optimal solution calculation method according to the second embodiment, it is not essential to use the ameba SAT-R solving method in step S205. That is, the conflict resolution unit instruction control circuit 17R can also search for a combination of alternative trajectories that can resolve a conflict using a solution method other than the ameba SAT solution method by controlling the operation of the second solution search arithmetic logic circuit 1B.

[0136] Furthermore, in step S206, the conflict resolution unit command control circuit 17R commands and controls the operation of the first solution search operation logic circuit 1A or the second solution search operation logic circuit 1B to confirm whether or not a combination of non-conflicting alternative trajectories (optimal solution) exists. If an optimal solution exists, the control unit 17, for example, in step S207, displays the optimal solution on the display device 23 in FIG. 19, or outputs the optimal solution from the output device 24 in FIG. 19, and then ends the processing of the flowchart shown in FIG. 21. On the other hand, if an optimal solution does not exist, the conflict resolution unit command control circuit 17R controls the operation of the first solution search operation logic circuit 1A or the second solution search operation logic circuit 1B to confirm whether or not a combination of non-conflicting alternative trajectories (optimal solution) exists. max Based on the conflict information tabulated in step S204, the operation of the first solution search arithmetic logic circuit 1A or the second solution search arithmetic logic circuit 1B is controlled and instructed to repeat the loop of step S206 → step S208 → step S205 until the conflict is resolved.

[0137] Then, the command control circuit 17R controls to continue searching for a combination of alternative trajectories that can resolve the conflict (optimal solution). Also, the conflict resolution unit command control circuit 17R controls to continue searching for an optimal solution when the number of searches reaches the upper limit N max When the conflict information is reached, the trajectory generating unit command control circuit 17G transmits an instruction to execute a logical operation to the first solution search operation logic circuit 1A and the second solution search operation logic circuit 1B so as to generate a new alternative trajectory based on the conflict information tabulated in step S204. This "conflict information" is information on when and where the trajectory of each object conflicts with the trajectory of the other object.

[0138] That is, the trajectory generation unit command control circuit 17G updates the conflicting alternative trajectories based on the conflict information tabulated in step S204, and generates k types of alternative trajectories by commanding and controlling the operation of the first solution search operation logic circuit 1A or the second solution search operation logic circuit 1B to repeat the loop of step S206 → step S208 → step S205. Here, in the hybrid type optimal solution calculation method according to the second embodiment, the trajectory generation unit command control circuit 17G transmits a command to generate k types of alternative trajectories to the first solution search operation logic circuit 1A in FIG. 19, and executes the operation process using the ameba SAT solution as a multicellular ameba. In the ameba SAT solution, it is possible to search for a combination of alternative trajectories that reflects the objective function and various constraints, such as increasing the probability of extending a leg that can reduce the value of the objective function, by utilizing multiple amebas (multicellular amebas) like a parallel computer, and it is possible to achieve the effect of generating k types of alternative trajectories quickly and efficiently for different instances using the same circuit without complicating the algorithm.

[0139] For example, in the case of the transport vehicle scheduling problem of the transport system using the automated transport vehicles in the logistics warehouse described in the first embodiment, the Ameba SAT solution is applied to the alternative trajectories of each vehicle, and a bounceback signal that prohibits a plurality of different vehicles from being present in the same cell at the same time is fixed to ON based on the conflict information in the table, so that an alternative trajectory that can avoid all conflicts can be obtained as a solution of parallel calculation. However, in the hybrid type optimal solution calculation method according to the second embodiment, it is not essential to use the Ameba SAT solution in steps S205 to S206. That is, the trajectory generation unit command control circuit 17G can also command and control the operation of the second solution search arithmetic logic circuit 1B so as to generate k types of alternative trajectories using a parallel calculation solution other than the Ameba SAT solution.

[0140] Then, after k types of alternative trajectories are generated by the trajectory generation unit instruction control circuit 17G, in step S204, the conflict counting unit instruction control circuit 17T controls the operation of the first solution search operation logic circuit 1A or the second solution search operation logic circuit 1B to detect the presence or absence of conflicts for all pairs of alternative trajectories generated in step S203 and tabulate the results. That is, in the hybrid type optimal solution calculation method according to the second embodiment, a search is performed for up to N combinations of alternative trajectories (optimal solutions) that do not cause conflicts based on the conflict information tabulated in step S204. max Repeat this process up to N times. max If the optimal solution is not found even after more than one iteration, the process again goes through the loop of steps S204 → S205 → S206 → S208 → S209 → S204 to generate a new alternative trajectory and perform the search.

[0141] In the hybrid type optimal solution calculation according to the second embodiment, for step S203, steps S205 to S206, and step S209, a hybrid mode has been described in which the Ameba SAT solution method may be used or a solution method other than the Ameba SAT solution method may be used. To summarize the operation in the hybrid mode, there are four modes, (a), (b), (c), and (d), as shown in FIG. 22.

[0142] In the first mode indicated by (a) at the top of the leftmost column, the conflict resolution unit instruction control circuit 17R controls the operation of the first solution search arithmetic logic circuit in step S205 to search for a combination of alternative trajectories (optimal solution) that can resolve the conflict, as indicated by the circle at the top of the second column from the left. In FIG. 22, the system that searches for a combination of alternative trajectories that can resolve the conflict using the Ameba SAT solution is indicated as "Ameba SAT-R" in the second column from the left. Also, the trajectory generation unit instruction control circuit 17G controls the operation of the first solution search arithmetic logic circuit in steps S203 and S209 to generate k types of alternative trajectories, as indicated by the circle at the top of the second column from the right. In FIG. 22, the system that uses the Ameba SAT solution to find k types of alternative trajectories is indicated as "Ameba SAT-G" in the second column from the right. The first mode in FIG. 22 is a mode that uses a multicellular amoeba configuration that includes the amoeba SAT-R in the second row from the left and the amoeba SAT-G in the second row from the right.

[0143] The amoeba core 101 shown in FIG. 11 corresponds to the structure of a single-celled amoeba, but in order to find k types of alternative trajectories, a multicellular amoeba with k types of amoeba cores may be used, and a multicellular amoeba configuration may be adopted in which a dedicated amoeba core for amoeba SAT-R is further added to this multicellular amoeba. In the second mode shown as (b) in the second row from the top in the leftmost column, the conflict resolution unit command control circuit 17R searches for a combination of alternative trajectories that can resolve the conflict by controlling the operation of the first solution search arithmetic logic circuit composed of the amoeba SAT-R in steps S205-206, as shown by the second circle from the top in the second column from the left. Also, the trajectory generation unit command control circuit 17G controls the operation of the second solution search arithmetic logic circuit that is not an amoeba computer in steps S203 and S209, as shown by the top circle in the rightmost column. The second mode in FIG. 22 is a mode in which the configuration of the Ameba SAT-R is used in steps S205 to S206, but the configuration of the Ameba computer described in the first embodiment is not used in steps S203 and S209.

[0144] In the third mode indicated by (c) in the third row from the top in the leftmost column, the conflict resolution unit instruction control circuit 17R controls the operation of the second solution search arithmetic logic circuit in steps S205-206 to search for a combination of alternative trajectories that can resolve the conflict, as indicated by the top circle in the third column from the left. Also, the trajectory generation unit instruction control circuit 17G controls the operation of the first solution search arithmetic logic circuit constituting the Ameba SAT-G in steps S203 and S209 to generate k types of alternative trajectories, as indicated by the second circle from the top in the second column from the right. The third mode in FIG. 22 is a mode in which the configuration of the Ameba computer described in the first embodiment is not used in steps S205-206, but the configuration of the Ameba computer of the Ameba SAT-R is used in steps S203 and S209. In the fourth mode indicated by (d) at the bottom of the leftmost column, the conflict resolution unit instruction control circuit 17R controls the operation of the second solution search arithmetic logic circuit in steps S205-206 to search for a combination of alternative trajectories that can resolve the conflict, as indicated by the second circle from the top in the third column from the left. Also, the trajectory generation unit instruction control circuit 17G controls the operation of the second solution search arithmetic logic circuit in steps S203 and S209 to generate k types of alternative trajectories, as indicated by the circle at the bottom of the rightmost column. The fourth mode in FIG. 22 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.

[0145] Here, the configuration in which the conflict counting unit command control circuit 17T detects a conflict and the mode based on this configuration are defined as "Amoeba SAT-T". The Amoeba SAT-T can also be configured with a single-celled ameba described in the solution search system according to the first embodiment, and can be used as a conflict counting solution search calculation circuit. The Amoeba SAT-T may be a single-celled ameba different from the Amoeba SAT-G configured with a multicellular ameba, or a part of the multicellular ameba may be used as the Amoeba SAT-G, and the remaining part may be used as the Amoeba SAT-R and the Amoeba SAT-T. Furthermore, if the timing at which the Amoeba SAT-G, the Amoeba SAT-T, and the Amoeba SAT-R do not simultaneously perform calculation processing can be guaranteed, a part of the multicellular ameba constituting the Amoeba SAT-G may be used as the Amoeba SAT-R and the Amoeba SAT-T in a time-division manner.

[0146] That is, the first solution search arithmetic logic circuit 1A is logically capable of functioning as the Ameba SAT-G constituting the trajectory generation ALU, functioning as the conflict resolution ALU constituting the Ameba SAT-R, and functioning as the conflict aggregation ALU constituting the Ameba SAT-T. Using the definition of the Ameba SAT, the mode in which the trajectory generation unit instruction control circuit 17G uses the Ameba SAT-G mode and the conflict resolution unit instruction control circuit 17R uses the Ameba SAT-R mode in the hybrid type optimal solution calculation according to the second embodiment can be called the "Ameba SAT-GTR mode". In the following description, for convenience, the first mode, the Ameba SAT-GTR mode, will be mainly described, but as can be seen from FIG. 22, it is not limited to the Ameba SAT-GTR mode, and may be the second to fourth modes.

[0147] A series of processes of the optimum solution calculation in the hybrid mode according to the second embodiment shown in FIG. 21 is based on a computer software program stored in the program storage device 25 shown in FIG. 19, and the trajectory generation unit command control circuit 17G, the conflict counting unit command control circuit 17T, and the conflict resolution unit command control circuit 17R in the control unit 17 shown in FIG. 19 and FIG. 20 transmit necessary command signals. In addition, the program related to the hybrid type optimum solution calculation method according to the second embodiment can be stored in a computer-readable recording medium, and this recording medium can be read into the program storage device 25 shown in FIG. The computer-readable recording medium means, for example, a medium capable of recording a program, such as an external memory device of a computer, a semiconductor memory, a magnetic disk, an optical disk, a magneto-optical disk, or a magnetic tape.

[0148] -3D warehouse- If the single-celled amoeba described in the solution search system according to the first embodiment is used to deal with the scheduling of a large-sized transport system, the number of variables and constraint rules such as intra-rules may become enormous and become unmanageable. In the multi-level warehouse problem, since a huge number of cells arranged in three dimensions are targeted, the number of variables and constraint rules may become enormous. In the multi-level warehouse problem, the work of carrying goods into one of a specific number of warehouses among a huge number of cells, or carrying goods out of one of the warehouses, is performed in response to transportation requests that are updated from moment to moment by multiple carts ν transporting goods on a common rail. As a specific example of the application of the hybrid-type optimal solution calculation method according to the second embodiment to a social scheduling optimization problem, the multi-level warehouse problem will be described first. Therefore, by applying the hybrid-type optimal solution calculation method according to the second embodiment, even in a situation where the number of variables and constraint rules for finding an optimal solution becomes enormous, it is possible to suppress the increase in hardware resource usage and find an optimal solution quickly and efficiently. The "conflict in the multi-level warehouse problem" refers to a state in which different carts ν exist in the same cell (location) at the same time.

[0149] There are various types, shapes, and sizes of multi-story warehouses, but in the multi-story warehouse problem below, we assume a four-story warehouse with 422 cells arranged three-dimensionally. In other words, we assume that it is composed of a four-story rectangular parallelepiped part and a single-story vehicle dispatch preparation zone part connected to the first floor part on the front side, which is one of the six faces of the rectangular parallelepiped. In the multi-story warehouse problem below, we assume that cells 1 to 30 are arranged in the trolley dispatch preparation zone on the first floor. We assume that there is a first vertical movement zone, where cells 31 to 47 are arranged from the front to the back at the left end of the first floor of the main body of the multi-story warehouse, along the left side of the rectangular parallelepiped defined by the direction of looking at the front.

[0150] On the first floor of the multi-story warehouse, the second vertical movement zone extends from the front to the back side on the left side of the center parallel to the first vertical movement zone. On the first floor of the multi-story warehouse, the third vertical movement zone extends from the front to the back side on the right side of the center parallel to the second vertical movement zone, and the fourth vertical movement zone extends from the front to the back side at the right end of the first floor of the multi-story warehouse body, parallel to the third vertical movement zone, along the right side of the rectangular parallelepiped defined in the direction of looking at the front. The first to fourth vertical movement zones are arranged at almost equal intervals. Cells 99 to 115 are arranged in the second vertical movement zone, cells 167 to 183 are arranged in the third vertical movement zone, and cells 235 to 251 are arranged in the fourth vertical movement zone. Cells 303 to 307 and 323 to 327 are arranged in the parallel movement zone between the first vertical movement zone and the second vertical movement zone. In the translation zone between the second and third vertical movement zones, cells 343 to 347 and 364 to 367 are arranged. It is assumed that in the translation zone between the third and fourth vertical movement zones, cells 383 to 387 and 403 to 407 are arranged.

[0151] At the left end of the second floor of the main body of the multi-story warehouse, the fifth vertical movement zone in which cells 48-64 are arranged is arranged so as to coincide with the first vertical movement zone in horizontal position. At the second floor of the multi-story warehouse, the sixth vertical movement zone is arranged on the left side of the center parallel to the fifth vertical movement zone so as to coincide with the second vertical movement zone in horizontal position. At the second floor of the multi-story warehouse, the seventh vertical movement zone is arranged on the right side of the center parallel to the sixth vertical movement zone so as to coincide with the third vertical movement zone in horizontal position. At the right end of the second floor of the multi-story warehouse, the eighth vertical movement zone extends parallel to the seventh vertical movement zone so as to coincide with the fourth vertical movement zone in horizontal position. Cells 116-132 are arranged in the sixth vertical movement zone, cells 184-200 are arranged in the seventh vertical movement zone, and cells 252-268 are arranged in the eighth vertical movement zone. Cells 308-312, 328-332 are arranged in the parallel movement zone between the fifth and sixth vertical movement zones. In the translation zone between the sixth and seventh vertical movement zones, cells 348 to 352 and 368 to 372 are arranged. It is assumed that in the translation zone between the seventh and eighth vertical movement zones, cells 388 to 392 and 408 to 412 are arranged.

[0152] At the left end of the third floor of the multi-level warehouse, the ninth vertical movement zone, in which cells 65-81 are arranged, is arranged so that its horizontal position coincides with the fifth vertical movement zone. On the third floor, the tenth vertical movement zone is arranged on the left side of the center parallel to the ninth vertical movement zone, so that its horizontal position coincides with the sixth vertical movement zone. On the third floor, the eleventh vertical movement zone is arranged on the right side of the center parallel to the tenth vertical movement zone, so that its horizontal position coincides with the seventh vertical movement zone. At the right end of the third floor, the twelfth vertical movement zone extends parallel to the eleventh vertical movement zone, so that its horizontal position coincides with the eighth vertical movement zone. Cells 133-149 are arranged in the tenth vertical movement zone, cells 201-217 are arranged in the eleventh vertical movement zone, and cells 269-285 are arranged in the twelfth vertical movement zone. Cells 313-317, 333-337 are arranged in the parallel movement zone between the ninth vertical movement zone and the tenth vertical movement zone. The parallel movement zone between the 10th and 11th vertical movement zones is arranged with the cells 353 to 357 and 373 to 377. It is assumed that the parallel movement zone between the 11th and 12th vertical movement zones is arranged with the cells 393 to 397 and 413 to 417.

[0153] At the left end of the fourth floor, which is the top floor of the multi-story warehouse, the 13th vertical movement zone, in which cells 82-98 are arranged, is arranged so as to coincide with the 9th vertical movement zone. On the 4th floor, the 14th vertical movement zone is arranged on the left side of the center parallel to the 13th vertical movement zone so as to coincide with the 10th vertical movement zone. On the 4th floor, the 15th vertical movement zone is arranged on the right side of the center parallel to the 14th vertical movement zone so as to coincide with the 11th vertical movement zone. At the right end of the 4th floor, the 16th vertical movement zone extends parallel to the 15th vertical movement zone so as to coincide with the 12th vertical movement zone. Cells 150-166 are arranged in the 14th vertical movement zone, cells 218-234 are arranged in the 15th vertical movement zone, and cells 286-302 are arranged in the 16th vertical movement zone. Cells 318-322, 338-342 are arranged in the parallel movement zone between the 13th vertical movement zone and the 14th vertical movement zone. The parallel movement zone between the 14th and 15th vertical movement zones is arranged with cells 358 to 362 and 378 to 382. It is assumed that the parallel movement zone between the 15th and 16th vertical movement zones is arranged with cells 398 to 402 and 418 to 422.

[0154] On the premise of the above-mentioned cell arrangement inside the multi-level warehouse, in the multi-level warehouse problem, first, in step S201 of the flowchart shown in FIG. 21, an "initial trajectory" is determined for each cart shown in FIG. 23 so as to take the shortest route independently. The vertical axis of FIG. 23 indicates the classification (number) of cart ν=1 to 15, and the horizontal axis is a time axis indicating the time of 64 steps that explain the movement (trajectory) position that changes over time for each cart ν. The left end of the time axis is time (step)=0, and the right end is time (step)=64. As shown in FIG. 23, each cell is arranged according to the initial condition required for the analysis that at time 0, cart 1 is located in cell 1 of the cart dispatch preparation zone, cart 2 is located in cell 2 of the cart dispatch preparation zone, and cart 3 is located in cell 3 of the cart dispatch preparation zone. Furthermore, each cell is placed according to the initial conditions of the analysis, which state that "carriage 4 is located in cell 10 of the vehicle dispatch preparation zone, carriage 5 is located in cell 11 of the vehicle dispatch preparation zone, carriage 6 is located in cell 12 of the vehicle dispatch preparation zone, carriage 7 is located in cell 19 of the vehicle dispatch preparation zone, carriage 8 is located in cell 20 of the vehicle dispatch preparation zone, and carriage 9 is located in cell 21 of the vehicle dispatch preparation zone."

[0155] Furthermore, the trolley 10 is placed in cell 28 of the vehicle dispatch preparation zone, the trolley 11 in cell 29 of the vehicle dispatch preparation zone, and the trolley 12 in cell 30 of the vehicle dispatch preparation zone. Furthermore, assuming that the initial conditions of the analysis are that the trolley 13 is placed in cell 7 of the vehicle dispatch preparation zone, the trolley 14 in cell 16 of the vehicle dispatch preparation zone, and the trolley 15 in cell 25 of the vehicle dispatch preparation zone, an "initial trajectory" that is the shortest route in step S201 is determined, and an optimal solution in which the trajectories of the trolleys 1 to 15 do not conflict is searched for. In the multi-level warehouse problem using the hybrid type optimal solution calculation according to the second embodiment, it is assumed that the search conditions are set such that the trolley 1 loads luggage in the loading cell 254 on the second floor, and finally heads toward the destination cell 1 on the first floor on a predetermined trajectory that passes through multiple cells. In the example of the automatic transport system for carts illustrated in FIG. 7A, a "cell for loading" and a "cell for unloading" are set in the logistics warehouse, but in the main multi-level warehouse introduced here, the destination cell is set as the cell for unloading. The search conditions are set for the cart 2 to load the baggage in the loading cell 169 on the first floor, and then to the destination cell 10 on the first floor on a predetermined track that passes through multiple cells. The search conditions are set for the cart 3 to load the baggage in the loading cell 91 on the fourth floor, and then to the destination cell 19 on the first floor via multiple cells. The search conditions are set for the cart 4 to load the baggage in the loading cell 262 on the second floor, and then to the destination cell 28 on the first floor via multiple cells. The search conditions are set for the cart 5 to load the baggage in the loading cell 42, and then to the destination cell 1 on the first floor via multiple cells.

[0156] Furthermore, the search condition is set for the trolley 6 to load the baggage in the loading cell 173 on the first floor, and then transport the baggage to the destination cell 10 on the first floor after passing through a plurality of cells. The search condition is set for the trolley 7 to load the baggage in the loading cell 67 on the third floor, and then travel along a track that passes through a plurality of cells, toward the destination cell 19 on the first floor. The search condition is set for the trolley 8 to load the baggage in the loading cell 113 on the first floor, and then travel along a track that passes through a plurality of cells, toward the destination cell 28 on the first floor. The search condition is set for the trolley 9 to load the baggage in the loading cell 61 on the second floor, and then travel along a predetermined track toward the destination cell 10 on the first floor. The search condition is set for the trolley 10 to load the baggage in the loading cell 202 on the third floor, and then travel along a predetermined track toward the destination cell 10 on the first floor. The search condition is set for the trolley 11 to load the baggage in the loading cell 261 on the second floor, and then travel along a predetermined track toward the destination cell 19 on the first floor. The search conditions are set so that the trolley 12 loads luggage in the loading cell 109 on the first floor and travels along a predetermined trajectory toward the destination cell 28 on the first floor. The search conditions are set so that the trolley 13 loads luggage in the loading cell 266 on the second floor and travels along a predetermined trajectory toward the destination cell 1 on the first floor.

[0157] A search condition is set such that the trolley 14 loads the baggage in the loading cell 53 on the second floor and travels along a predetermined track to the destination cell 10 on the first floor. Then, the trolley 15 loads the baggage in the loading cell 79 on the third floor and travels along a predetermined track to the destination cell 19 on the first floor. Under each search condition, an optimal solution is searched for that does not conflict with the tracks of the trolleys 1 to 15. In the example of the automatic transport system illustrated in FIG. 7A, the "cells for loading the baggage" and the "cells for unloading the baggage" are set in a distributed manner in the logistics warehouse, but in the main body of the multi-story warehouse introduced here, all the destination cells are located in the vehicle dispatch preparation zone on the first floor, and the problem is the track when 15 trolleys transport the baggage from inside the multi-story warehouse to the vehicle dispatch preparation zone on the first floor. That is, under such search conditions, a total operation schedule that can avoid collisions and congestion between the trolleys 1 to 15 is obtained, and the passing times and stay times at all passing points, i.e., the spatial information and time information of each of the trolleys 1 to 15, are obtained.

[0158] In Fig. 23, the initial trajectories of each vehicle 1 to 15 are displayed in a matrix of vehicle number versus time. v FIG. 23 shows the layout of cells 1 to 416, which are the trajectory positions of each of the trolleys (number 1 to 15) in the multi-story warehouse. However, as described above, in this multi-story warehouse problem, it is assumed that cells 1 to 422 are placed inside the multi-story warehouse, so it can be seen that the matrix display shown in FIG. 23 has cells that are not used in the setting of the initial trajectory. As shown by the cell numbers enclosed in squares in FIG. 23, in the setting of the initial trajectory, at time (step) 10, there is a conflict between trolleys 6 and 12 in cell 171. Furthermore, in the setting of the initial trajectory, at time (step) 14, there is a conflict between trolleys 6 and 12 in cell 172, as enclosed in square. Also, in the setting of the initial trajectory, there is a conflict between trolleys 11 and 15 in cell 261 enclosed in square at time (step) 11.

[0159] Next, in step S202 of the flow chart shown in FIG. 21, conflicts between the initial trajectories are listed as shown in FIG. 24. FIG. 24 is equivalent to FIG. 23, and shows conflicts between the initial trajectories on the matrix shown in FIG. 23 in an organized manner. That is, the leftmost column (left column) of FIG. 24 shows the numbers of the bogies ν=1 to 15 shown in FIG. 23. The second column from the left of FIG. 24 shows the number of the bogie ν' that is in conflict with the bogie ν shown in the leftmost column. The third column from the left of FIG. 24 shows the time (step) shown in FIG. 23 as the time when the bogie ν and the bogie ν' conflict, and the rightmost column shows the point (cell) shown in FIG. 23 as the position where the bogie ν and the bogie ν' conflict. For example, as shown by the top horizontal square, Fig. 24 shows that with regard to cart 6, there is a conflict with cart 12 in cell 171 at time (step) 10 in Fig. 23. With regard to cart 11, there is a conflict with cart 15 in cell 261 at time (step) 14 shown in Fig. 23, as can be seen by the display shown by the second horizontal square from the top in Fig. 24. With regard to cart 12, there is a conflict with cart 6 in cell 172 at time (step) 11 shown in Fig. 23, as shown by the third horizontal square from the top.

[0160] Next, in step S203 of the flow chart shown in Fig. 21, as shown in Fig. 25, the trajectory generation unit command control circuit 17G of the control unit 17 commands and controls the operation of the first solution search arithmetic logic circuit 1A or the second solution search arithmetic logic circuit 1B so as to generate k types of alternative trajectories (alternative trajectories) that can avoid conflicts for each vehicle v. To generate k types of alternative trajectories, a multicellular amoeba process that processes k types of amoeba SAT solutions (amoeba SAT-G mode) in parallel is suitable. Fig. 25 shows the case of k=5, so k×n v=5×15=75 possible cases are generated as all alternative trajectories including the initial trajectory. By performing parallel calculations in the amoeba SAT-G mode using a multicellular amoeba, the calculation processing required to generate all 75 possible alternative trajectories can be performed efficiently in a short time. In other words, if K=0,1,2,3,4 corresponding to the case of k=5, the vertical axis of Figure 25 shows the alternative trajectories x ν,K are listed as variables arranged along the vertical axis.

[0161] Specifically, the pair of alternative trajectories for cart 1 (ν=1) from the top of the vertical axis is represented by the variable x 1,0 ,x 1,1 ,x 1,2 ,x 1,3 ,x 1,4 Next, the variable x for the pair of alternative tracks for cart 2 (ν=2) that should be aligned on the vertical axis is 2,0 ,x 2,1 ,x 2,2 ,x 2,3 ,x 2,4 The illustration of is omitted, and the pair of alternative trajectories for the vehicle ν is represented by the variable x ν,0 ,x ν,1 ,x ν,2 ,x ν,3 ,x ν,4 are arranged on the vertical axis. Since it is impossible to show all 75 patterns on the vertical axis, x is written below the vertical axis. 6,0 ,x 6,1 ,……,x 11,0 ,x 11,1 ,……,x 12,0 ,x 12,1 ,……,x 15,0 ,x 15,1 Some of the alternative orbital pairs such as , … are shown in an abbreviated form as examples.

[0162] The horizontal axis of Fig. 25 is the alternative orbit x, just like the horizontal axis of Fig. 23. ν,K For each vehicle ν, 68 steps of time are shown to explain the movement (trajectory) position that changes over time. The left end of Fig. 25 is time (step) = 0, and the right end is time (step) = 68. The initial trajectory x of the vehicle 15 corresponding to Fig. 23 15,0is up to 64 steps, but the corresponding alternative trajectory of the bogie 15 x 15,1 , has up to 68 steps. That is, the alternative trajectory x in Figure 25 ν,K In the matrix display of time, the k×n v The layout of cells 1 to 416, which represent the track positions of each of the 75 possible trolleys in the multi-story warehouse, is shown.

[0163] Next, in step S204 of the flow chart shown in FIG. 21, the conflict counting unit command control circuit 17T commands and controls the operation of the first solution search operation logic circuit 1A or the second solution search operation logic circuit 1B so as to detect the presence or absence of conflicts for all pairs of alternative trajectories including the initial trajectory. The presence or absence of conflicts detected by the conflict counting unit command control circuit 17T is displayed as a numerical value of zero or one in each cell of the conflict matrix shown in FIG. 26, and the presence or absence of conflicts is tabulated. FIG. 26 is a 75×75 conflict matrix corresponding to FIG. 25. That is, the vertical axis of FIG. 26 is the alternative trajectory x of each bogie, as in FIG. 25. ν,K are shown as variables arranged on the vertical axis. Originally, the vertical axis of FIG. 26 would be the pair of alternative tracks for cart 1 from the top, with the variable x 1,0 ,x 1,1 ,x 1,2 ,x 1,3 ,x 1,4 is shown, and then the variables x 2,0 ,x 2,1 ,x 2,2 ,x 2,3 ,x 2,4 However, it is impossible to show all 75 combinations on the vertical axis.

[0164] Therefore, the vertical axis of Figure 26 is x 1,0 ,……,x 1,k ,……,x 1,K-1 ,……,x ν’,k‘ ,……,x 15,0 ,……,x 15,k ,……,x 15,K-1 On the other hand, the horizontal axis of FIG. 26 is the alternative trajectory x of each vehicle, similar to the vertical axis, so as to form a conflict matrix. ν,Kare shown as variables arranged on the horizontal axis. Originally, the pair of alternative tracks for bogie 1 from the left of the horizontal axis should be represented by variable x 1,0 ,x 1,1 ,x 1,2 ,x 1,3 ,x 1,4 is shown, and then the variables x 2,0 ,x 2,1 ,x 2,2 ,x 2,3 ,x 2,4 However, it is impossible to show all 75 patterns on the horizontal axis. Therefore, the horizontal axis of Figure 26 shows x 1,0 ,……,x 1,k ,……,x 1,K-1 ,……,x ν,k ,……,x 15,0 ,……,x 15,k ,……,x 15,K-1 In the conflict matrix of Fig. 26, the number 0 in each cell indicates that there is no conflict, and the number 1 in each cell indicates that a conflict has occurred. As shown in the square in the center of the conflict matrix of Fig. 26, the alternative trajectory x ν,k and the alternative track x of the bogie ν' ν’,k‘ There is a conflict between the two.

[0165] Next, in step S205 of the flow chart shown in Fig. 21, the conflict resolution unit command control circuit 17R commands and controls the operation of the first solution search operation logic circuit 1A or the second solution search operation logic circuit 1B to search for a combination of alternative tracks that can resolve the conflict, as shown in Fig. 27, based on the information of the conflict matrix in Fig. 26. The vertical axis of Fig. 27 represents the alternative tracks x of each cart that can resolve the conflict. ν,K That is, the vertical axis of Figure 27 shows the combination of alternative orbits that can resolve the conflict, starting from the top: x 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 ,x10,0 ,x 11,0 ,x 12,0 ,x 13,0 ,x 14,0 ,x 12,1 At time (step) 0 in Fig. 27, it can be seen that all of the carts v = 1 to 15 are stored in any of cells 1 to 30 in the vehicle dispatch preparation zone on the first floor of the multi-story warehouse.

[0166] It can be seen that the trolley 1 moves to cell 31 of the first vertical movement zone at time (step) 3, moves to cell 48 of the fifth vertical movement zone at time 4, moves to cell 65 of the ninth vertical movement zone at time 5, and moves to cell 313 of the horizontal movement zone on the third floor at time 6. On the other hand, it can be seen that the trolley 2 moves to cell 31 of the first vertical movement zone at time 2, moves to cell 48 of the fifth vertical movement zone at time 3, moves to cell 65 of the ninth vertical movement zone at time 4, and moves to cell 313 of the horizontal movement zone on the third floor at time 5. At time (step) 17, the trolley 1 is located in cell 254 of the eighth vertical movement zone at the right end of the second floor. Since cell 254 is the initially set loading cell, it stays there for six steps from time 17 to time 22. Also, the trolley 2 is located in cell 169 of the third vertical movement zone on the center right side of the first floor at time 17. Cell 169 is also the initially set loading cell for cart 2, and so it is understood that cart 2 will stay there for six steps from time 14 to 19.

[0167] Also, at time 17, trolley 3 is located in cell 93 of the 13th vertical movement zone at the left end of the 4th floor of the multi-story warehouse, trolley 4 is located in cell 259 of the 8th vertical movement zone at the right end of the 2nd floor, and trolley 5 is located in cell 41 of the 1st vertical movement zone at the left end of the 1st floor. At time 17, trolley 6 is located in cell 173 of the 3rd vertical movement zone at the center right of the 1st floor. Since cell 173 is also the loading cell of trolley 6 set initially, it can be seen that it will stay there for 6 steps from time 13 to 18. Also, trolley 7 is located in cell 67 of the 9th vertical movement zone at the left end of the 3rd floor at time 17. Since cell 67 is also the loading cell of trolley 7 set initially, it can be seen that it will stay there for 6 steps from time 13 to 18. At time 17, trolley 8 is located in cell 182 of the 3rd vertical movement zone at the center right of the 1st floor.

[0168] Also, at time 17 in FIG. 27, the trolley 9 is located in cell 183 of the third vertical movement zone on the right side of the center of the first floor of the multi-story warehouse, and the trolley 10 is located in cell 205 of the 11th vertical movement zone on the right side of the center of the third floor. At time 17, the trolley 11 is located in cell 261 of the 8th vertical movement zone on the right edge of the second floor. Since cell 261 is also the loading cell of the trolley 11 that was initially set, it can be seen that the trolley 11 will stay there for 6 steps from time 12 to 17. At time 17, the trolley 12 is located in cell 178 of the third vertical movement zone on the right side of the center of the first floor, the trolley 13 is located in cell 126 of the 6th vertical movement zone on the left side of the center of the second floor, the trolley 14 is located in cell 330 of the parallel movement zone on the left side of the center of the second floor, and the trolley 15 is located in cell 260 of the parallel movement zone on the right edge of the second floor, so there is no conflict between them at time 17.

[0169] At time (step) 41 in FIG. 27, the cells of trolleys 2, 6, 10, and 14 are blank, and it can be seen that the trolleys have already reached the initially set destination cell and completed their work. Then, by examining the cells listed in the column of time 41 in FIG. 27, it can be seen that the timing is just right for trolley 5 to reach cell 1, which is the initially set destination cell. Similarly, it can be seen that at time 41, trolley 11 is just about to reach cell 19, which is the destination cell. Also, by examining the cells listed in the column of time 41, it can be seen that trolley 1 is located in cell 3, and trolley 4 is located in cell 30, and that they are nearing the end of their work toward their final destination cells. Trolley 1 reaches cell 1, which is the destination cell, at time 43, and trolley 4 also reaches cell 28, which is the destination cell, at time 43. Trolley 8 in the column of time 41 is located in cell 405 in the right-hand parallel movement zone on the first floor of the four-story multi-storey warehouse. Truck 8 reaches cell 28, which is the destination cell, at time 53.

[0170] At time 41, the trolley 9 is located in cell 52 in the fifth vertical movement zone at the left end of the second floor. The trolley 9 reaches the destination cell, cell 1, at time 49. The trolley 12 is located in cell 238 in the fourth vertical movement zone at the right end of the first floor at time 41. The trolley 12 reaches the destination cell, cell 28, at time 47. At time 41, the trolley 13 is located in cell 194 in the vertical movement zone at the center right of the second floor. The trolley 13 reaches the destination cell, cell 1, at time 61. At time 41, the trolley 15 is located in cell 61 in the fifth vertical movement zone at the left end of the second floor. The trolley 15 reaches the destination cell, cell 19, at time 67. Thus, there is no conflict in each cell listed in the column of time 41 shown in FIG. 27. As a result of the combination of alternative trajectories in step S205 of FIG. 21, a trajectory as shown in FIG. 27 is determined. When it is determined in step S206 that a combination of alternative trajectories capable of resolving the conflict has been obtained using the trajectories shown in FIG. 27, the trajectory shown in FIG. 27 is displayed (output) as an optimal solution in step S207.

[0171] In step S206, when the conflict resolution unit command control circuit 17R determines from the processing of the first solution search operation logic circuit 1A or the second solution search operation logic circuit 1B that there is no combination of alternative trajectories that can resolve the conflict, it commands and controls the operation of the first solution search operation logic circuit 1A or the second solution search operation logic circuit 1B to repeat the loop of step S206 → step S208 → step S205. For example, by using the function of the ameba SAT-R of the first solution search operation logic circuit 1A, it repeatedly searches until a combination of alternative trajectories (optimal solution) that can resolve the conflict is found. When the number of searches reaches an upper limit, the multicellular ameba generates a new combination of alternative trajectories that can resolve the conflict by processing the loop of step S206 → step S208 → step S209 → step S204.

[0172] As a result, we can obtain a schedule for all carts in a four-story warehouse that can avoid collisions and congestion between carts 1 to 15. max = 422 Number of bogies ν maxEven in the case of a multi-story warehouse where the number of cells i is 15, the hybrid type optimum solution calculation method according to the second embodiment makes it possible to efficiently solve the "optimum solution of the trajectory" in a short time. max = 800 or more, number of carts ν max = 100 or more, and the variables are about 10 6 More than 10 intra-rules 10 Even for multi-story warehouse problems involving more than 100 vehicles, it is possible to efficiently find a solution close to the "optimal trajectory solution" in a short amount of time.

[0173] (Other embodiments) As described above, the present invention has been described by the first and second embodiments, but the descriptions and drawings forming a part of this disclosure should not be understood as limiting the present invention. From this disclosure, various alternative first embodiments, examples, and operation techniques will become apparent to those skilled in the art. For example, in the above first embodiment, each process (each function) may be realized by centralized processing by a single device (system), or may be realized by distributed processing by multiple devices. However, performing distributed processing by multiple devices is preferable in that, for example, different delays can be easily added between devices, or the occurrence of different delays can be expected probabilistically. Also, even when performing centralized processing by one device, it is possible to add different delays or perform control such that the occurrence of different delays can be expected probabilistically.

[0174] The fourth mode of FIG. 22 described in the second embodiment is a mode in which the configuration of the amoeba computer is not used in both steps S205-206 and steps S203, 209. If the operation is intended only for the fourth mode, the first solution search operation logic circuit 1A can be removed from the configuration of the hybrid type solution search system shown in FIG. 19, and a single-function solution search system consisting of only the second solution search operation logic circuit 1B can be used. Also, if the operation of the second to fourth modes of FIG. 22 described in the second embodiment is not performed, the second solution search operation logic circuit 1B can be removed from the configuration of the hybrid type solution search system shown in FIG. 19, and a single-function solution search system consisting of only the first solution search operation logic circuit 1A can be used. Thus, the present invention is not limited to the above description of the first and second embodiments, and various modifications are possible, and it goes without saying that these are also included within the scope of the present invention. Therefore, the technical scope of the present invention is determined only by the invention-specifying matters related to the scope of the claims that are appropriate from the above description. [Explanation of symbols]

[0175] 1...Central Processing Unit (CPU), 1A...First solution search arithmetic logic circuit, 1B...Second solution search arithmetic logic circuit, 11-1, 11-2, ..., 11-i...Data generation unit, 12-1, 12-2, ..., 12-i...Data conversion unit, 13...Feedback control unit, 14...Output adjustment unit, 14'...Output adjustment signal processing unit, 16...Fluctuation setting unit, 17G...Trajectory generator (generation section), 17T...Conflict tabulator (collection section), 17R...Conflict resolver (resolution section)

Claims

1. an output adjustment unit having N signal adjustment circuits, where N is a positive integer of 2 or more, for converting each provisionally determined output adjustment signal into a final output adjustment signal and outputting the final output adjustment signal; 2N data generating units, each arranged with respect to the set of signal conditioning circuits to receive the determined set of output conditioning signals, and each generating binary data; 2N data conversion units each reading the data generated by the data generation units and converting the data into information; a fluctuation setting unit that supplies independent bias probabilities to each of the signal conditioning circuits, supplies independent fluctuation probabilities to each of the data generating units, and supplies independent thresholds to each of the data converting units, non-uniformly sets the occurrence frequency of the data generated by each of the data generating units, and sets the occurrence frequency of a specific variable to a value different from the occurrence frequency of other variables; a feedback control unit that judges whether an optimal solution has been obtained based on the information converted by the data conversion unit and previously input search problem information, and if the optimal solution has not been obtained, repeatedly controls an operation of causing an output adjustment unit to output the determined output adjustment signal; the signal conditioning circuit converts the output conditioning signals of the provisional decision into output conditioning signals of the final decision using the bias probability, the data generation unit generates the data using the output conditioning signals of the final decision and the fluctuation probability, the data conversion unit generates the information using the data and the threshold, and obtains the optimal solution to an SAT problem expressed by a plurality of constraint conditions in implication form and the logical product of the constraint conditions from the information.

2. The data generating units and the corresponding data converting units are connected in a one-to-one relationship to form 2N tandem connection sets, respectively; Each of the tandem connection sets includes a pseudopod unit including a series circuit of a first passive element and a first nonlinear element, and a ground parallel circuit connecting the series circuit to a ground potential; The assembly of the pseudopod units constitutes the amoeba core, 2. The solution search system according to claim 1, wherein the grounded parallel circuit includes a charge storage means connected in series to the series circuit, and a discharge control circuit connected in parallel to the charge storage means for discharging the charge stored in the charge storage means.

3. 3. The solution search system according to claim 2, wherein the discharge control circuit includes a first switching element and a second switching element each connected in parallel to the charge storage means.

4. The solution search system described in claim 3, characterized in that one end of the series circuits that constitute each of the pseudopod units is connected to each other at a central hub, and the other ends of the series circuits spread out radially to define 2N output terminals, and the 2N pseudopod units form a star-shaped network.

5. 5. The solution search system according to claim 4, wherein an inverted signal of said output adjustment signal is supplied to a control electrode of each of said first switching elements.

6. 6. The solution search system according to claim 5, wherein a two-input NOR gate is provided between adjacent pairs of the output terminals, and the outputs of each of the N two-input NOR gates are input to a control electrode of a corresponding one of the second switching elements.

7. The solution search system according to claim 2, characterized in that an arithmetic logic operation circuit is formed by the amoeba core and a fluctuation setting unit that supplies fluctuation probabilities to each of the data generation units included in the amoeba core, and the system has a multicellular amoeba structure in which a plurality of the arithmetic logic operation circuits are arranged in parallel.

8. an arithmetic logic circuit is formed by the ameba core and a fluctuation setting unit that supplies fluctuation probabilities to each of the data generating units included in the ameba core, and a multicellular ameba structure in which a plurality of the arithmetic logic circuits are arranged in parallel is provided as a trajectory generating arithmetic logic circuit; The solution search system according to claim 2, characterized in that, by parallel calculation using the multicellular amoeba structure, multiple types of matrices are generated in which multiple variables are arranged on the vertical axis and the states of the multiple variables that change over time are arranged on the horizontal axis, and the multiple types of matrices are used as multiple types of alternative trajectories.

9. 9. The solution search system according to claim 8, further comprising a conflict compilation arithmetic and logic circuit for compiling a table showing the presence or absence of a conflict determined from analysis conditions for each of the plurality of alternative trajectories.

10. 10. The solution search system according to claim 9, further comprising a conflict resolution arithmetic and logic circuit for searching for a new alternative trajectory that resolves the conflict tabulated by the conflict counting arithmetic and logic circuit.

11. A step of independently supplying fluctuation probability information input from an external source to each of a plurality of data generating units; independently supplying bias probability information input from outside to each of a plurality of signal conditioning circuits arranged corresponding to each of the plurality of data generating units; supplying threshold information input from an external source to each of the plurality of data conversion units independently; inputting a plurality of provisionally determined output conditioning signals to the plurality of signal conditioning circuits, respectively; using the bias probability, each of the plurality of signal conditioning circuits converts the inputted output adjustment signals of the plurality of provisional decisions into values ​​of final decision output adjustment signals, and inputs the final decision output adjustment signals to each of the plurality of data generating units; Each of the plurality of data generating units generates non-uniform data from the fluctuation probability and the determined output adjustment signal, and sets the occurrence frequency of a specific variable output by each of the plurality of data generating units to a value different from the occurrence frequency of other variables; a step of reading data generated by each of the plurality of data generating units and converting the data generated by each of the plurality of data generating units into information, the number of the plurality of data converting units being the same as the number of the plurality of data generating units; determining whether an optimal solution has been obtained based on the information converted by the plurality of data conversion units and previously input search problem information, and if the optimal solution has not been obtained, controlling a process of repeating an operation of transmitting the determined output adjustment signal to each of the plurality of data generation units; and obtaining the optimal solution to an SAT problem expressed by a plurality of constraint conditions in an implication form and a logical product of the constraint conditions.

12. In the case where the search problem information is expressed by a propositional logic formula consisting of a plurality of variables, one of the variables y i Define as a program variable, and the condition of implication form y i = b and x j If b', then x k = b'' Prepare a single instance with program variable y i 12. The solution search method according to claim 11, wherein the value of is fixed to "0" or "1" to switch between validity and invalidity of the constraint condition of the propositional logical formula.

13. an instruction to the fluctuation setting unit to supply information on fluctuation probability input from outside to each of the plurality of data generating units independently; an instruction to cause the fluctuation setting unit to independently supply bias probability information input from an external source to each of a plurality of signal conditioning circuits arranged corresponding to each of the plurality of data generating units; A command to the fluctuation setting unit to supply the threshold information input from the outside to each of the plurality of data conversion units independently; instructions to cause a power conditioning unit to input a plurality of provisionally determined power conditioning signals to the plurality of signal conditioning circuits, respectively; instructions to cause each of the plurality of signal conditioning circuits to convert the input provisionally determined output adjustment signals into final output adjustment signal values ​​using the bias probabilities, and to input the final output adjustment signals to each of the plurality of data generation units; An instruction to cause each of the plurality of data generating units to generate non-uniform data from the fluctuation probability and the determined output adjustment signal, and to cause each of the plurality of data generating units to output a frequency of occurrence of a specific variable that is different from the frequency of occurrence of other variables; an instruction to cause the plurality of data conversion units, the number of which is equal to the number of the plurality of data generation units, to read the data generated by each of the plurality of data generation units and convert the read data into information; a command to a feedback control unit to determine whether an optimal solution has been obtained based on the information converted by the plurality of data conversion units and the search problem information input in advance, and if the optimal solution has not been obtained, to control a process of repeating an operation of transmitting the output adjustment signal of the final determination to each of the plurality of data generation units; and obtaining the optimal solution to a SAT problem expressed by a plurality of constraint conditions in implication form and a logical product of the constraint conditions.

Citation Information

Patent Citations

  • Information processing system

    JP1985011928A

  • Logical formula conversion program and sat solution program

    JP2012003733A

  • Solution search system and method and solution search program

    JP2014085733A