JP2021189497A - Information processing system, information processing method and program - Google Patents

Information processing system, information processing method and program Download PDF

Info

Publication number
JP2021189497A
JP2021189497A JP2020090923A JP2020090923A JP2021189497A JP 2021189497 A JP2021189497 A JP 2021189497A JP 2020090923 A JP2020090923 A JP 2020090923A JP 2020090923 A JP2020090923 A JP 2020090923A JP 2021189497 A JP2021189497 A JP 2021189497A
Authority
JP
Japan
Prior art keywords
cost function
annealing machine
production line
candidate
information processing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2020090923A
Other languages
Japanese (ja)
Other versions
JP7486161B2 (en
Inventor
真之 大関
Masayuki Ozeki
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sigma I Co Ltd
Original Assignee
Sigma I Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sigma I Co Ltd filed Critical Sigma I Co Ltd
Priority to JP2020090923A priority Critical patent/JP7486161B2/en
Publication of JP2021189497A publication Critical patent/JP2021189497A/en
Application granted granted Critical
Publication of JP7486161B2 publication Critical patent/JP7486161B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • General Factory Administration (AREA)

Abstract

To provide an information processing method which enables a cost function including a non-linear transformation to be usable in a solution search using an annealing machine.SOLUTION: The method includes: means for inputting each object candidate and a cost function into an annealing machine, in which the object candidate performs, for a plurality of objects, processing of inserting a part or the whole of a certain object in a different order, processing of replacing a part or the whole of the certain object with another object, and processing selected from at least one of the replacement of the object with another object and/or order rearrangement; means for obtaining information from the annealing machine on whether or not to execute the processing for each candidate object that the annealing machine determines based on the cost function; and means for determining the cost function based on information indicating whether or not to execute the processing for each object candidate and determining whether or not to execute the processing for each object candidate according to a value of the cost function. The method repeats these pieces of processing.SELECTED DRAWING: Figure 8

Description

本発明は、情報処理システム、情報処理方法及びプログラムに関する。 The present invention relates to an information processing system, an information processing method and a program.

量子アニーリングは、組合せ最適化処理を高速かつ高精度に実行すると期待されている計算技術として知られている(例えば、特許文献1参照)。 Quantum annealing is known as a computational technique expected to execute combinatorial optimization processing at high speed and with high accuracy (see, for example, Patent Document 1).

特開2020−046806号公報Japanese Unexamined Patent Publication No. 2020-046806

しかし、量子アニーリングマシンは、二次関数までの問題までしか扱えないという制限がある。制約条件を適切に利用することにより、非線形変換を含む一般の関数などの複雑なコスト関数を利用することができる可能性があったが、上記の制限で、その可能性の実現性には疑問符が残されていた。 However, quantum annealing machines have the limitation that they can only handle problems up to quadratic functions. Proper use of constraints could allow the use of complex cost functions such as general functions, including non-linear transformations, but the above limitations question the feasibility of that possibility. Was left.

本発明は、上記問題に鑑みてなされたものであり、量子アニーリングマシンを用いた解探索において複雑なコスト関数を利用可能にする情報処理システム、情報処理方法及びプログラムを提供することを目的とする。 The present invention has been made in view of the above problems, and an object of the present invention is to provide an information processing system, an information processing method, and a program that enable a complicated cost function to be used in a solution search using a quantum annealing machine. ..

本発明の第1の態様に係る情報処理システムは、複数の対象物について、ある対象物の一部もしくは全部を別の順番に挿入する処理、ある対象物の一部もしくは全部を別の対象物の一部もしくは全部と入れ替える処理、対象物を別の対象物と入れ替え及び/または順番の並び替えのうちの少なくとも一つの処理から選択された処理を実行する対象物の候補それぞれと、アニーリングマシン用のコスト関数を、アニーリングマシンに入力する手段と、アニーリングマシンがアニーリングマシン用のコスト関数に基づいて決定した、前記対象物の候補それぞれについて処理を実行するか否かの情報を、当該アニーリングマシンから取得する手段と、前記対象物の候補それぞれについて処理を実行するか否かを示す情報に基づいて、目的のコスト関数を決定し、当該目的のコスト関数の値に応じて、対象物の候補それぞれについて処理を実行するか否かを決定する手段と、を備え、前記入力する手段と、前記取得する手段と、前記決定する手段の処理を繰り返す。 The information processing system according to the first aspect of the present invention is a process of inserting a part or all of a certain object in a different order with respect to a plurality of objects, and a part or all of a certain object is another object. For each candidate object and an annealing machine that performs a process selected from at least one of the processes of replacing part or all of, replacing an object with another object, and / or rearranging the order. Information on whether or not to execute processing for each candidate of the object determined by the annealing machine based on the means for inputting the cost function of the object into the annealing machine and the cost function for the annealing machine is obtained from the annealing machine. The target cost function is determined based on the means to be acquired and the information indicating whether or not to execute the process for each of the target object candidates, and each target object candidate is determined according to the value of the target cost function. A means for determining whether or not to execute the process is provided, and the process of the input means, the acquisition means, and the determination means is repeated.

この構成によれば、目的のコスト関数とアニーリングマシン用のコスト関数を分けることにより、アニーリングマシン用のコスト関数は二次関数までの利用としつつ、目的のコスト関数を、三次以上の関数など複雑なコスト関数を利用することができる。また、情報処理システムが、制約条件を満たすタイムスロットについて処理を行うようにすることで、アニーリングマシンは制約条件を気にすることがなく処理を実行できる。
できる。
According to this configuration, by separating the target cost function and the cost function for the annealing machine, the cost function for the annealing machine can be used up to the quadratic function, and the target cost function can be complicated such as a function of cubic or higher. Cost function can be used. Further, by causing the information processing system to process the time slot satisfying the constraint condition, the annealing machine can execute the process without worrying about the constraint condition.
can.

本発明の第2の態様に係る情報処理システムは、第1の態様に係る情報処理システムであって、前記アニーリングマシンに入力する手段は、複数種類の製品について複数の生産ラインで生産する場合に、一つの生産ラインのタイムスロットをカットして別の生産ラインに挿入する処理、一つの生産ラインのある製品のタイムスロットの一部もしくは全部を別の生産ラインのタイムスロットに挿入する処理、一つの生産ラインの製品のタイムスロットの一部もしくは全部を別の生産ラインの製品のタイムスロットの一部もしくは全部と入れ替える処理、一つの生産ラインの各製品のタイムスロットと別の生産ラインの各製品のタイムスロットと入れ替え及び/または順番の並び替えのうちの少なくとも一つの処理から選択された処理を実行する対象物の候補それぞれと、アニーリングマシン用のコストを、アニーリングマシンに入力する。 The information processing system according to the second aspect of the present invention is the information processing system according to the first aspect, and the means for inputting to the annealing machine is a case where a plurality of types of products are produced on a plurality of production lines. , The process of cutting the time slot of one production line and inserting it into another production line, the process of inserting a part or all of the time slot of a product in one production line into the time slot of another production line, one The process of replacing part or all of the time slots of a product on one production line with part or all of the time slots of a product on another production line, the time slot of each product on one production line and each product on another production line. Each of the candidate objects to perform the process selected from at least one process of the time slot and the rearrangement and / or the rearrangement of the order, and the cost for the annealing machine are input to the annealing machine.

この構成によれば、複数種類の製品について複数の生産ラインで生産する場合の時間スケジュールを、より短時間で決定することができる。 According to this configuration, it is possible to determine a time schedule for producing a plurality of types of products on a plurality of production lines in a shorter time.

本発明の第3の態様に係る情報処理システムは、第2の態様に係る情報処理システムであって、前記選択された処理の実行の際には、前の工程での処理が終了しているという制約を満たすタイムスロットに対して実行される。 The information processing system according to the third aspect of the present invention is the information processing system according to the second aspect, and when the selected process is executed, the process in the previous step is completed. It is executed for the time slot that satisfies the constraint.

この構成によれば、一つの製品について前の工程が終わってから、次の工程が実施されるという前後関係の制約が保証される。 This configuration guarantees a contextual constraint that the next step is carried out after the previous step is completed for one product.

本発明の第4の態様に係る情報処理システムは、第2または3の態様に係る情報処理システムであって、前記目的のコスト関数には、生産ライン毎の終了時刻の差が小さいほど評価が高くなる項が含まれる。 The information processing system according to the fourth aspect of the present invention is the information processing system according to the second or third aspect, and the cost function of the object is evaluated as the difference in the end time for each production line is smaller. Contains terms that increase.

この構成によれば、生産ライン毎の終了時刻の差を縮めることができる。 According to this configuration, the difference in the end time for each production line can be reduced.

本発明の第5の態様に係る情報処理システムは、第1の態様に係る情報処理システムであって、前記アニーリングマシンに入力する手段は、複数の都市について、都市を別の順番に挿入する処理、都市を別の都市と入れ替える処理、都市を別の都市と入れ替え及び/または順番の並び替えのうちの少なくとも一つの処理から選択された処理を実行する都市の候補それぞれと、アニーリングマシン用のコスト関数を、アニーリングマシンに入力する。 The information processing system according to the fifth aspect of the present invention is the information processing system according to the first aspect, and the means for inputting to the annealing machine is a process of inserting cities in different orders for a plurality of cities. , Each candidate for a city to perform a process selected from at least one of the processes of swapping cities with another city, swapping cities with another city and / or reordering, and the cost for the annealing machine. Enter the function into the annealing machine.

この構成によれば、巡回セールスマン問題を、より短時間で解くことができる。 With this configuration, the traveling salesman problem can be solved in a shorter time.

本発明の第6の態様に係る情報処理システムは、第1の態様に係る情報処理システムであって、前記アニーリングマシンに入力する手段は、性質の異なる複数の宿泊施設群について、宿泊施設群の一部もしくは全部を別の順番に挿入する処理、ある性質の宿泊施設群の一部もしくは全部を別の性質の宿泊施設群の一部もしくは全部と入れ替える処理、ある性質の宿泊施設群を別の性質の宿泊施設群と入れ替え及び/または順番の並び替えのうちの少なくとも一つの処理から選択された処理を実行する宿泊施設の候補それぞれと、アニーリングマシン用のコスト関数を、前記アニーリングマシンに入力する。 The information processing system according to the sixth aspect of the present invention is the information processing system according to the first aspect, and the means for inputting to the annealing machine is the accommodation facility group for a plurality of accommodation facility groups having different properties. Processing to insert part or all in a different order, processing to replace part or all of accommodations of one nature with part or all of accommodations of another nature, processing to replace accommodations of one nature with another Each of the accommodation candidates that performs the process selected from at least one process of swapping and / or reordering with the property group and the cost function for the annealing machine is input to the annealing machine. ..

この構成によれば、複数の宿泊施設群を混在した状態になるように複数の宿泊施設群の表示順を決定する際に、より短時間で決定することができる。 According to this configuration, when determining the display order of the plurality of accommodation facility groups so that the plurality of accommodation facility groups are mixed, it can be determined in a shorter time.

本発明の第7の態様に係る情報処理システムは、第1から4のいずれかの態様に係る情報処理システムであって、前記決定する手段は、目的のコスト関数が小さくなることを目的としている場合当該コスト関数が低減すれば前記アニーリングマシンの出力を採用し、該コスト関数が低減しなければ前記アニーリングマシンの出力を採用せず、一方、目的のコスト関数が大きくなることを目的としている場合当該コスト関数が増大すれば前記アニーリングマシンの出力を採用し、該コスト関数が増大しなければ前記アニーリングマシンの出力を採用しない。 The information processing system according to the seventh aspect of the present invention is the information processing system according to any one of the first to the fourth aspects, and the means for determining the above is intended to reduce the target cost function. Case: If the cost function is reduced, the output of the annealing machine is adopted, and if the cost function is not reduced, the output of the annealing machine is not adopted, while the target cost function is intended to be large. If the cost function increases, the output of the annealing machine is adopted, and if the cost function does not increase, the output of the annealing machine is not adopted.

この構成によれば、アニーリングマシンの出力を採用、不採用を決定することができる。 According to this configuration, it is possible to decide whether to adopt or not to adopt the output of the annealing machine.

本発明の第8の態様に係る情報処理方法は、複数の対象物について、ある対象物の一部もしくは全部を別の順番に挿入する処理、ある対象物の一部もしくは全部を別の対象物の一部もしくは全部と入れ替える処理、対象物を別の対象物と入れ替え及び/または順番の並び替えのうちの少なくとも一つの処理から選択された処理を実行する対象物の候補それぞれと、アニーリングマシン用のコスト関数を、アニーリングマシンに入力する工程と、アニーリングマシンがアニーリングマシン用のコスト関数に基づいて決定した、前記対象物の候補それぞれについて処理を実行するか否かの情報を、当該アニーリングマシンから取得する工程と、前記対象物の候補それぞれについて処理を実行するか否かを示す情報に基づいて、目的のコスト関数を決定し、当該目的のコスト関数の値に応じて、対象物の候補それぞれについて処理を実行するか否かを決定する工程と、を有し、前記入力する工程と、前記取得する工程と、前記決定する工程の処理を繰り返す情報処理方法である。 The information processing method according to the eighth aspect of the present invention is a process of inserting a part or all of a certain object in a different order with respect to a plurality of objects, and a part or all of a certain object is another object. For each candidate object and an annealing machine that performs a process selected from at least one of the processes of replacing part or all of, replacing an object with another object, and / or rearranging the order. Information on whether or not to execute the process for each of the candidate objects determined by the annealing machine based on the process of inputting the cost function of the object to the annealing machine and the cost function for the annealing machine is obtained from the annealing machine. The target cost function is determined based on the process to be acquired and the information indicating whether or not to execute the process for each of the target object candidates, and each target object candidate is determined according to the value of the target cost function. It is an information processing method having a step of determining whether or not to execute a process, and repeating the process of the input step, the acquisition step, and the determination step.

この構成によれば、目的のコスト関数とアニーリングマシン用のコスト関数を分けることにより、アニーリングマシン用のコスト関数は二次関数までの利用としつつ、目的のコスト関数を、三次以上の関数など複雑なコストを利用することができる。また、制約条件を満たすタイムスロットについて処理を行うようにすることで、アニーリングマシンは制約条件を気にすることがなく処理を実行できる。 According to this configuration, by separating the target cost function and the cost function for the annealing machine, the cost function for the annealing machine can be used up to the quadratic function, and the target cost function can be complicated such as a function of cubic or higher. Costs can be used. Further, by processing the time slot satisfying the constraint condition, the annealing machine can execute the process without worrying about the constraint condition.

本発明の第9の態様に係るプログラムは、コンピュータを、複数の対象物について、ある対象物の一部もしくは全部を別の順番に挿入する処理、ある対象物の一部もしくは全部を別の対象物の一部もしくは全部と入れ替える処理、対象物を別の対象物と入れ替え及び/または順番の並び替えのうちの少なくとも一つの処理から選択された処理を実行する対象物の候補それぞれと、アニーリングマシン用のコスト関数を、アニーリングマシンに入力する手段と、アニーリングマシンがアニーリングマシン用のコスト関数に基づいて決定した、前記対象物の候補それぞれについて処理を実行するか否かの情報を、当該アニーリングマシンから取得する手段と、前記対象物の候補それぞれについて処理を実行するか否かを示す情報に基づいて、目的のコスト関数を決定し、当該目的のコスト関数の値に応じて、対象物の候補それぞれについて処理を実行するか否かを決定する手段と、として機能させるためのプログラムであって、前記入力する手段と、前記取得する手段と、前記決定する手段の処理を繰り返すプログラムである。 In the program according to the ninth aspect of the present invention, a computer is used to insert a part or all of an object in a different order with respect to a plurality of objects, and a part or all of an object is another object. Each candidate object to perform a process selected from at least one process of replacing part or all of an object, replacing an object with another object, and / or rearranging the order, and an annealing machine. The means for inputting the cost function for the annealing machine to the annealing machine, and the information on whether or not the annealing machine executes processing for each candidate of the object determined based on the cost function for the annealing machine. The target cost function is determined based on the means obtained from the above and the information indicating whether or not to execute the process for each of the target object candidates, and the target object candidate is determined according to the value of the target cost function. It is a program for functioning as a means for deciding whether or not to execute a process for each of them, and is a program for repeating the processes of the input means, the acquisition means, and the determination means.

この構成によれば、目的のコスト関数とアニーリングマシン用のコスト関数を分けることにより、アニーリングマシン用のコスト関数は二次関数までの利用としつつ、目的のコスト関数を、三次以上の関数など複雑なコスト関数を利用することができる。また、制約条件を満たすタイムスロットについて処理を行うようにすることで、アニーリングマシンは制約条件を気にすることがなく処理を実行できる。 According to this configuration, by separating the target cost function and the cost function for the annealing machine, the cost function for the annealing machine can be used up to the quadratic function, and the target cost function can be complicated such as a function of cubic or higher. Cost function can be used. Further, by processing the time slot satisfying the constraint condition, the annealing machine can execute the process without worrying about the constraint condition.

本発明の一態様によれば、目的のコスト関数とアニーリングマシン用のコスト関数を分けることにより、アニーリングマシン用のコスト関数は二次関数までの利用としつつ、目的のコスト関数を、三次以上の関数など複雑なコスト関数を利用することができる。また、制約条件を満たすタイムスロットについて処理を行うようにすることで、アニーリングマシンは制約条件を気にすることがなく処理を実行できる。 According to one aspect of the present invention, by separating the target cost function and the cost function for the annealing machine, the target cost function can be used up to a quadratic function, and the target cost function can be made to be cubic or higher. Complex cost functions such as functions can be used. Further, by processing the time slot satisfying the constraint condition, the annealing machine can execute the process without worrying about the constraint condition.

第1の実施形態に係る情報処理システムの概略構成図である。It is a schematic block diagram of the information processing system which concerns on 1st Embodiment. 第1の実施形態に係る端末の概略構成図である。It is a schematic block diagram of the terminal which concerns on 1st Embodiment. 第1の実施形態に係る一つの工程を説明するための模式図である。It is a schematic diagram for demonstrating one process which concerns on 1st Embodiment. 一つの生産ラインの最後のタイムスロットをカットして別の生産ラインに挿入する処理を説明するための図である。It is a figure for demonstrating the process of cutting the last time slot of one production line and inserting it into another production line. 一つの生産ラインのある製品のタイムスロットの一部もしくは全部を別の生産ラインのタイムスロットに挿入する処理を説明するための図である。It is a figure for demonstrating the process of inserting a part or all of the time slot of a product of one production line into the time slot of another production line. 一つの生産ラインの製品のタイムスロットの一部もしくは全部を別の生産ラインの製品のタイムスロットの一部もしくは全部と入れ替える処理を説明するための図である。It is a figure for demonstrating the process of exchanging a part or all of the time slot of the product of one production line with part or all of the time slot of the product of another production line. 一つの生産ラインの各製品のタイムスロットと別の生産ラインの各製品のタイムスロットと入れ替え及び/または順番の並び替えを説明するための図である。It is a figure for demonstrating the time slot of each product of one production line, the time slot of each product of another production line, and / or rearranging the order. 第1の実施形態に係る処理に流れの一例を示すフローチャートである。It is a flowchart which shows an example of the flow to the process which concerns on 1st Embodiment. 第1の実施形態において、2つの工程を実行した場合の処理結果の一例である。In the first embodiment, it is an example of the processing result when two steps are executed. 2つの工程を実行した場合の目的のコスト関数の時間経過を示すグラフである。It is a graph which shows the time passage of the target cost function when two steps are executed. 第1の実施形態において、4つの工程を実行した場合の処理結果の一例である。In the first embodiment, it is an example of the processing result when four steps are executed. 4つの工程を実行した場合の目的のコスト関数の時間経過を示すグラフである。It is a graph which shows the time passage of the target cost function when four steps are executed. 第1の実施形態において、6つの工程を実行した場合の処理結果の一例である。In the first embodiment, it is an example of the processing result when six steps are executed. 6つの工程を実行した場合の目的のコスト関数の時間経過を示すグラフである。It is a graph which shows the time passage of the target cost function when 6 steps are executed. 第1の実施形態においてプロセス数と計算時間の関係を示すグラフである。It is a graph which shows the relationship between the number of processes and the calculation time in 1st Embodiment. 第2の実施形態において初期状態の巡回路を表す模式図である。It is a schematic diagram which shows the circuit of the initial state in 2nd Embodiment. 第2の実施形態において計算処理後の巡回路を表す模式図である。It is a schematic diagram which shows the circuit after the calculation process in 2nd Embodiment. 第2の実施形態に係る処理に流れの一例を示すフローチャートである。It is a flowchart which shows an example of the flow to the process which concerns on 2nd Embodiment.

以下、各実施形態について、図面を参照しながら説明する。但し、必要以上に詳細な説明は省略する場合がある。例えば、既によく知られた事項の詳細説明や実質的に同一の構成に対する重複説明を省略する場合がある。これは、以下の説明が不必要に冗長になるのを避け、当業者の理解を容易にするためである。 Hereinafter, each embodiment will be described with reference to the drawings. However, more detailed explanation than necessary may be omitted. For example, detailed explanations of already well-known matters and duplicate explanations for substantially the same configuration may be omitted. This is to avoid unnecessary redundancy of the following description and to facilitate the understanding of those skilled in the art.

<第1の実施形態>
上記、課題に加えて、第1の実施形態では、量子アニーリングマシンは制約条件を持つような組合せ最適化問題を必ずしも適切に解くことができなかったという課題を解決する。
<First Embodiment>
In addition to the above problems, the first embodiment solves the problem that the quantum annealing machine could not always properly solve the combinatorial optimization problem having constraints.

第1の実施形態では、複数種類の製品について複数の生産ラインで生産する場合に、生産スケジュールの最適化を目的とする。第1の実施形態では、工場の複数の製造ラインにおいて、複数の種類の製品それぞれを一つ以上生産することを想定する。また一例として本実施形態の生産には複数の工程があり、前の工程が終わらなければ次の工程に進めないとい制約がある。 The first embodiment aims at optimizing a production schedule when a plurality of types of products are produced on a plurality of production lines. In the first embodiment, it is assumed that one or more of a plurality of types of products are produced in a plurality of production lines of a factory. Further, as an example, the production of the present embodiment has a plurality of processes, and there is a restriction that the process cannot proceed to the next process unless the previous process is completed.

図1は、第1の実施形態に係る情報処理システムの概略構成図である。図1に示すように、情報処理システムSは一例として、デジタルコンピュータの一例である端末1を備える。端末1は、通信回路網CNを介してアニーリングマシン2に接続されており、アニーリングマシン2と通信可能である。ここでは一例として情報処理システムSは一台の端末1で構成される例を示すが、これに限定されるものではなく、複数の情報処理装置で構成されてもよい。 FIG. 1 is a schematic configuration diagram of an information processing system according to the first embodiment. As shown in FIG. 1, the information processing system S includes a terminal 1 which is an example of a digital computer as an example. The terminal 1 is connected to the annealing machine 2 via the communication network CN, and can communicate with the annealing machine 2. Here, as an example, the information processing system S is configured by one terminal 1, but the information processing system S is not limited to this, and may be configured by a plurality of information processing devices.

端末1は、ユーザが使用する端末装置であり、例えば、多機能携帯電話(いわゆるスマートフォン)などの携帯電話、タブレット、ノートパソコン、またはデスクトップパソコンなどである。端末1には例えば、本実施形態に係るプログラムを含むアプリケーションがインストールされており、このアプリケーションを立ち上げ、端末1はユーザの操作に応じて処理を実行する。以下、本実施形態では、端末1は、一例としてデスクトップパソコンであるものとして説明する。 The terminal 1 is a terminal device used by a user, and is, for example, a mobile phone such as a multifunctional mobile phone (so-called smartphone), a tablet, a notebook computer, a desktop personal computer, or the like. For example, an application including a program according to the present embodiment is installed in the terminal 1, and this application is launched, and the terminal 1 executes a process according to a user's operation. Hereinafter, in the present embodiment, the terminal 1 will be described as an example of a desktop personal computer.

アニーリングマシン2は、量子アニーリングを実行するハードウェアである。アニーリングマシン2は例えば、D−Waveであるが、これに限ったものではない。 The annealing machine 2 is hardware that performs quantum annealing. The annealing machine 2 is, for example, D-Wave, but is not limited to this.

図2は、第1の実施形態に係る端末の概略構成図である。図2に示すように、端末1は例えば、入力インタフェース11と、通信回路12と、ストレージ13と、メモリ14と、ディスプレイ15と、プロセッサ16とを備える。
入力インタフェース11は、ユーザからの入力を受け付け、受け付けた入力に応じた入力信号をプロセッサ16へ出力する。
通信回路12は、通信回路網CNに接続されて、通信回路網CNに接続されているアニーリングマシン2と通信する。この通信は有線であっても無線であってもよい。
FIG. 2 is a schematic configuration diagram of a terminal according to the first embodiment. As shown in FIG. 2, the terminal 1 includes, for example, an input interface 11, a communication circuit 12, a storage 13, a memory 14, a display 15, and a processor 16.
The input interface 11 receives an input from the user and outputs an input signal corresponding to the received input to the processor 16.
The communication circuit 12 is connected to the communication network CN and communicates with the annealing machine 2 connected to the communication network CN. This communication may be wired or wireless.

ストレージ13には、プロセッサ16が読み出して実行するためのアプリケーションのプログラム及び各種のデータが格納されている。このアプリケーションは、サーバもしくはクラウド経由でダウンロードされてインストールされたものであってもよい。
メモリ14は、データ及びプログラムを一時的に保持する。メモリ14は、揮発性メモリであり、例えばRAM(Random Access Memory)である。
The storage 13 stores an application program and various data for the processor 16 to read and execute. This application may be downloaded and installed via a server or the cloud.
The memory 14 temporarily holds data and programs. The memory 14 is a volatile memory, for example, a RAM (Random Access Memory).

プロセッサ16は、ストレージ13から本実施形態に係るアプリケーションのプログラムをメモリ14にロードし、当該プログラムに含まれる一連の命令を実行する。 The processor 16 loads the program of the application according to the present embodiment from the storage 13 into the memory 14, and executes a series of instructions included in the program.

ディスプレイ17は、プロセッサ16の指令に従って情報をディスプレイ17に表示する。なお、ディスプレイ17は端末1に外付けではなく、内蔵であってもよい。 The display 17 displays information on the display 17 according to the instructions of the processor 16. The display 17 may be built into the terminal 1 instead of being externally attached.

図3は、第1の実施形態に係る一つの工程を説明するための模式図である。図3に示すように、一つの工程において、製造ラインが3つあり、図3において製造ライン毎の工程スケジュールが示されている。工程pの製造ラインのインデックスiの作業終了時間tp,iは、(各製品の処理数×処理時間の総和)+(各製品間の切り替え時間の総和)である。例えば図3の工程p(=1)の製造ラインのインデックスi=1の工程時間tp=1,i=1は、例えば、(製品Aの処理数16×処理時間100+製品Eの処理数32×処理時間1000+製品Cの処理数24×処理時間600)+(製品Aから製品Eへの切り替え時間180+製品Eから製品Cへの切り替え時間220)=48400(sec)である。 FIG. 3 is a schematic diagram for explaining one step according to the first embodiment. As shown in FIG. 3, there are three production lines in one process, and FIG. 3 shows a process schedule for each production line. The work end time t p, i of the index i of the production line of the process p is (the number of processes of each product × the sum of the processes) + (the sum of the switching times between the products). For example, the process time t p = 1, i = 1 of the index i = 1 of the production line of the process p (= 1) in FIG. 3 is, for example, (number of processes of product A 16 × number of processes 100 + number of processes of product E 32). × Processing time 1000 + Number of processing of product C 24 × Processing time 600) + (Switching time from product A to product E 180 + Switching time from product E to product C 220) = 48400 (sec).

本実施形態において、目的とするコスト関数Hは一例として以下の通りである。 In the present embodiment, the target cost function H is as follows as an example.

Figure 2021189497
Figure 2021189497

ここで、tmax=max(tp,i)、すなわちtmaxは工程pの製造ラインのインデックスiの作業終了時間tp,iの最大値である。jは製造ラインのインデックスであり、α、βは、必要に応じて調整する係数である。ここで、コスト関数Hが小さくなることを目的としており、第2項は、生産ライン毎の終了時刻の差が小さいほど、コスト関数Hが小さくなる。ここでは一例として、生産ライン毎の終了時刻がそろっているほど、全体の工程の終了時間が短くなる経験則があったので、生産ライン毎の終了時刻の差が小さいほど、コスト関数Hが小さくなるように第2項が設定されている。すなわち、目的のコスト関数Hには一例として、生産ライン毎の終了時刻の差が小さいほど評価が高くなる項が第2項として含まれる。 Here, t max = max (tp , i ), that is, t max is the maximum value of the work end time t p, i of the index i of the production line of the process p. j is an index of the production line, and α and β are coefficients to be adjusted as necessary. Here, the purpose is to make the cost function H smaller, and the second term is that the smaller the difference in the end time for each production line, the smaller the cost function H. Here, as an example, there is an empirical rule that the more the end times of each production line are aligned, the shorter the end time of the entire process is. Therefore, the smaller the difference in the end times of each production line, the smaller the cost function H. The second term is set so as to be. That is, as an example, the target cost function H includes a term as the second term, in which the smaller the difference in the end time of each production line, the higher the evaluation.

続いて、本実施形態において繰り返し行われる処理について図4〜図7を用いて説明する。図4は、一つの生産ラインの最後のタイムスロットをカットして別の生産ラインに挿入する処理を説明するための図である。図4に示すように、インデックスiの生産ラインの最後のタイムスロットのうち、インデックスjの生産ラインの最後のタイムスロットより延長している部分(2Cp,i,jの時間)を半分にカットして、別のインデックスjの生産ラインの最後のタイムスロットに付け足す。これにより、インデックスiの生産ラインの作業終了時間t’p,i=t’p,i−cp,i,jp,i,jに短縮され、別のインデックスjの生産ラインの作業終了時間t’p,j=t’p,j+cp,j,ip,i,jに延長される。このことにより、全体の作業終了時間が短縮される効果がある。 Subsequently, the process repeatedly performed in the present embodiment will be described with reference to FIGS. 4 to 7. FIG. 4 is a diagram for explaining a process of cutting the last time slot of one production line and inserting it into another production line. As shown in FIG. 4, of the last time slot of the production line of index i, the portion extended from the last time slot of the production line of index j (time of 2C p, i, j ) is cut in half. Then add it to the last time slot of the production line of another index j. As a result, the work end time of the production line of the index i is shortened to t'p , i = t'p, i −c p, i, j q p, i, j, and the work of the production line of another index j is completed. The time is extended to t'p, j = t'p , j + c p, j, i q p, i, j. This has the effect of shortening the overall work completion time.

図5は、一つの生産ラインのある製品のタイムスロットの一部もしくは全部を別の生産ラインのタイムスロットに挿入する処理を説明するための図である。図5に示すように、インデックスiの生産ラインの先頭のタイムスロットを、別のインデックスjの生産ラインの生産工程の切れ目に挿入する。これにより、インデックスiの生産ラインの作業終了時間t’p,i=t’p,i−cp,i,jp,i,jに短縮され、別のインデックスjの生産ラインの作業終了時間t’p,j=t’p,j+cp,j,ip,i,jに延長される。 FIG. 5 is a diagram for explaining a process of inserting a part or all of a time slot of a product on one production line into a time slot of another production line. As shown in FIG. 5, the time slot at the head of the production line of index i is inserted at the break of the production process of another production line of index j. As a result, the work end time of the production line of the index i is shortened to t'p , i = t'p, i −c p, i, j q p, i, j, and the work of the production line of another index j is completed. The time is extended to t'p, j = t'p , j + c p, j, i q p, i, j.

図6は、一つの生産ラインの製品のタイムスロットの一部もしくは全部を別の生産ラインの製品のタイムスロットの一部もしくは全部と入れ替える処理を説明するための図である。図6に示すように、インデックスiの生産ラインの先頭のタイムスロットと、別のインデックスjの生産ラインの最後のタイムスロットを入れ替える。これにより例えば、インデックスiの生産ラインの作業終了時間t’p,i=t’p,i−cp,i,jp,i,jに変更され、別のインデックスjの生産ラインの作業終了時間t’p,j=t’p,j+cp,j,ip,i,jに変更される。ここで、入れ替え前のインデックスiの生産ラインの先頭のタイムスロットの時間をap,i,j、入れ替え後のインデックスiの生産ラインの先頭のタイムスロットの時間をbp,i,jとすると、cp,i,j=ap,i,j−bp,i,jである。同様に、入れ替え前のインデックスjの生産ラインの最後のタイムスロットの時間をap,i,j、入れ替え後のインデックスjの生産ラインの最後のタイムスロットの時間をbp,i,jとすると、cp,j,j=ap,i,j−bp,i,jである。 FIG. 6 is a diagram for explaining a process of replacing a part or all of a product time slot of one production line with a part or all of a time slot of a product of another production line. As shown in FIG. 6, the head time slot of the production line of the index i and the last time slot of the production line of another index j are exchanged. As a result, for example, the work end time of the production line of the index i is changed to t'p , i = t'p, i −c p, i, j q p, i, j, and the work of the production line of another index j is changed. The end time is changed to t'p, j = t'p , j + c p, j, i q p, i, j. Here, let the time of the head of the production line of the index i before replacement be ap, i, j , and the time of the head of the production line of the index i after replacement be b p, i, j. , C p, i, j = a p, i, j − b p, i, j . Similarly, let the time of the last time slot of the production line of the index j before replacement be ap, i, j , and the time of the last time slot of the production line of the index j after replacement be b p, i, j. , C p, j, j = a p, i, j − b p, i, j .

図7は、一つの生産ラインの各製品のタイムスロットと別の生産ラインの各製品のタイムスロットと入れ替え及び/または順番の並び替えを説明するための図である。図7に示すように、インデックスiの生産ラインの最後のタイムスロットと、別のインデックスjの生産ラインの最後のタイムスロットを入れ替え、その後にインデックスiの生産ラインの先頭と最後のタイムスロットを入れ替え、別のインデックスjの生産ラインの先頭と最後のタイムスロットを入れ替える。これにより例えば、インデックスiの生産ラインの作業終了時間t’p,i=t’p,i−cp,i,jp,i,jに変更され、別のインデックスjの生産ラインの作業終了時間t’p,j=t’p,j+cp,j,ip,i,jに変更される。ここで、入れ替え前のインデックスiの生産ラインの作業終了時間をap,i,j、入れ替え後のインデックスiの生産ラインの作業終了時間をbp,i,jとすると、cp,i,j=ap,i,j−bp,i,jである。同様に、入れ替え前のインデックスjの生産ラインの作業終了時間をap,i,j、入れ替え後のインデックスjの生産ラインの作業終了時間をbp,i,jとすると、cp,j,j=ap,i,j−bp,i,jである。 FIG. 7 is a diagram for explaining the time slot of each product on one production line and the time slot of each product on another production line, and / or rearranging the order. As shown in FIG. 7, the last time slot of the production line of index i and the last time slot of another production line of index j are exchanged, and then the beginning and last time slots of the production line of index i are exchanged. , Swap the first and last time slots of the production line of another index j. As a result, for example, the work end time of the production line of the index i is changed to t'p , i = t'p, i −c p, i, j q p, i, j, and the work of the production line of another index j is changed. The end time is changed to t'p, j = t'p , j + c p, j, i q p, i, j. Here, if the work end time of the index i production line before replacement is ap, i, j and the work end time of the index i production line after replacement is b p, i, j , c p, i, j = a p, i, j − b p, i, j . Similarly, if the work end time of the production line of the index j before the replacement is ap, i, j and the work end time of the production line of the index j after the replacement is b p, i, j , c p, j, j = a p, i, j − b p, i, j .

続いて、第1の実施形態に係る処理に流れの一例について説明する。図8は、第1の実施形態に係る処理に流れの一例を示すフローチャートである。 Subsequently, an example of the flow in the process according to the first embodiment will be described. FIG. 8 is a flowchart showing an example of the flow in the process according to the first embodiment.

(ステップS10)端末1のプロセッサ16は、アニーリングマシンに入力する手段として機能する。当該アニーリングマシンに入力する手段は、複数種類の製品について複数の生産ラインで生産する場合に、一つの生産ラインの最後のタイムスロットをカットして別の生産ラインに挿入する処理、一つの生産ラインのある製品のタイムスロットの一部もしくは全部を別の生産ラインのタイムスロットに挿入する処理、一つの生産ラインの製品のタイムスロットの一部もしくは全部を別の生産ラインの製品のタイムスロットの一部もしくは全部と入れ替える処理、一つの生産ラインの各製品のタイムスロットと別の生産ラインの各製品のタイムスロットと入れ替え及び/または順番の並び替えのうちの少なくとも一つから選択された処理を実行する対象の候補を一つ以上決定する。 (Step S10) The processor 16 of the terminal 1 functions as a means for inputting to the annealing machine. The means of inputting to the annealing machine is the process of cutting the last time slot of one production line and inserting it into another production line when producing multiple types of products on multiple production lines, one production line. The process of inserting part or all of the time slot of one product into the time slot of another production line, part or all of the time slot of a product of one production line is one of the time slots of the product of another production line. Executes the process of replacing with a part or all, the process of replacing the time slot of each product on one production line with the time slot of each product of another production line, and / or the process selected from at least one of the sort of order. Determine one or more candidates for the target.

この処理の選択は、予め各処理の順番が決められていてその順番に沿って自動で選択されてもよいし、ランダムであってもよい。 The selection of this process may be selected automatically according to the order in which the order of each process is determined in advance, or may be random.

(ステップS20)端末1のプロセッサ16は、アニーリングマシン用のコスト関数、
選択された処理を実行する対象の候補を、アニーリングマシン2へ送信する。
(Step S20) The processor 16 of the terminal 1 is a cost function for the annealing machine.
The target candidate for executing the selected process is transmitted to the annealing machine 2.

このように、端末1のプロセッサ16は、アニーリングマシンに入力する手段として機能する。当該アニーリングマシンに入力する手段は、複数種類の製品について複数の生産ラインで生産する場合に、一つの生産ラインの最後のタイムスロットをカットして別の生産ラインに挿入する処理、一つの生産ラインのある製品のタイムスロットの一部もしくは全部を別の生産ラインのタイムスロットに挿入する処理、一つの生産ラインの製品のタイムスロットの一部もしくは全部を別の生産ラインの製品のタイムスロットの一部もしくは全部と入れ替える処理、一つの生産ラインの各製品のタイムスロットと別の生産ラインの各製品のタイムスロットと入れ替え及び/または順番の並び替えの少なくとも一つから選択された処理を実行する対象物の候補それぞれと、アニーリングマシン用のコスト関数を、アニーリングマシン2に入力する。 In this way, the processor 16 of the terminal 1 functions as a means for inputting to the annealing machine. The means of inputting to the annealing machine is the process of cutting the last time slot of one production line and inserting it into another production line when producing multiple types of products on multiple production lines, one production line. The process of inserting part or all of the time slot of one product into the time slot of another production line, part or all of the time slot of a product of one production line is one of the time slots of the product of another production line. Target to execute the process of replacing with a part or all, the time slot of each product of one production line and the time slot of each product of another production line, and / or the process selected from at least one of order rearrangement. The candidate of the object and the cost function for the annealing machine are input to the annealing machine 2.

本実施形態では、一つの製品について前の工程が終わっていなければ、次の工程が実施できないという制約条件がある。そのため、前記選択された処理の実行の際には、前の工程での処理が終了しているという制約を満たすタイムスロットに対して実行される。これにより、一つの製品について前の工程が終わってから、次の工程が実施されるという前後関係の制約が保証される。この制約条件については、端末1のプロセッサ16側で考慮することで、アニーリングマシン2では考慮する必要がない。 In this embodiment, there is a constraint that the next step cannot be carried out unless the previous step is completed for one product. Therefore, when the selected process is executed, it is executed for the time slot that satisfies the constraint that the process in the previous step is completed. This guarantees the contextual constraint that the next process is carried out after the previous process is completed for one product. This constraint condition is considered on the processor 16 side of the terminal 1, and does not need to be considered on the annealing machine 2.

目的のコスト関数とは、別にアニーリング用のコスト関数が、アニーリングマシンに設定されている。このアニーリング用のコスト関数は、目的のコスト関数が2次関数以下で表される場合には、同じであってもよい。一方、アニーリング用のコスト関数は、目的のコスト関数が3次以上などの非線形関数で表される場合、別のコスト関数が設定されていてもよい。本実施形態では、アニーリング用のコスト関数も、目的のコスト関数の第2項と第3項の和であるものとして説明する。 A cost function for annealing is set in the annealing machine separately from the target cost function. The cost function for annealing may be the same when the target cost function is represented by a quadratic function or less. On the other hand, as the cost function for annealing, another cost function may be set when the target cost function is represented by a non-linear function such as a third order or higher. In the present embodiment, the cost function for annealing is also described as being the sum of the second term and the third term of the target cost function.

(ステップS30)アニーリングマシン2は、アニーリングマシン用のコスト関数を用いて、選択された処理を実行する対象の候補それぞれについて、処理を実行するか否かを出力する。 (Step S30) The annealing machine 2 uses the cost function for the annealing machine to output whether or not to execute the process for each of the target candidates for executing the selected process.

(ステップS30)アニーリングマシン2は、対象の候補それぞれについて処理を実行するか否かを示す情報を端末1へ送信する。 (Step S30) The annealing machine 2 transmits information indicating whether or not to execute the process for each of the target candidates to the terminal 1.

そして端末1のプロセッサ16は、アニーリングマシン2がアニーリングマシン用のコスト関数に基づいて決定した、前記対象の候補それぞれについて処理を実行するか否かを示す情報を、当該アニーリングマシン2から取得する手段として機能する。 Then, the processor 16 of the terminal 1 obtains information from the annealing machine 2 indicating whether or not to execute the process for each of the target candidates, which is determined by the annealing machine 2 based on the cost function for the annealing machine. Functions as.

(ステップS50)端末1のプロセッサ16は、前記対象の候補それぞれについて処理を実行するか否かを示す情報を受信した場合、前記対象の候補それぞれについて処理を実行するか否かを示す情報に基づいて、目的のコスト関数を決定し、当該目的のコスト関数の値に応じて、対象の候補それぞれについて処理を実行するか否かを決定する手段として機能する。 (Step S50) When the processor 16 of the terminal 1 receives information indicating whether or not to execute the process for each of the target candidates, it is based on the information indicating whether or not to execute the process for each of the target candidates. Therefore, it functions as a means for determining a target cost function and determining whether or not to execute processing for each target candidate according to the value of the target cost function.

ここで、当該決定する手段は、本実施形態のように、目的のコスト関数が小さくなることを目的としている場合当該コスト関数が低減すれば前記アニーリングマシンの出力を採用し、該コスト関数が低減しなければ前記アニーリングマシンの出力を採用しない。 Here, as in the present embodiment, when the target cost function is to be reduced, the determination means adopts the output of the annealing machine if the cost function is reduced, and the cost function is reduced. Otherwise, the output of the annealing machine will not be adopted.

なお、目的のコスト関数が大きくなることを目的としている場合、当該決定する手段は、当該コスト関数が増大すれば前記アニーリングマシンの出力を採用し、該コスト関数が増大しなければ前記アニーリングマシンの出力を採用しないようにしてもよい。 When the purpose is to increase the target cost function, the means for determining the cost function adopts the output of the annealing machine if the cost function increases, and if the cost function does not increase, the determining means of the annealing machine. The output may not be adopted.

(ステップS60)端末1のプロセッサ16は、所定の回数、繰り返したか否か判定し、所定の回数繰り返していない場合、ステップS10に戻って、処理を繰り返す。一方、所定の回数、繰り返した場合、端末1のプロセッサ16は、本フローチャートの処理を終了する。 (Step S60) The processor 16 of the terminal 1 determines whether or not it has been repeated a predetermined number of times, and if it has not been repeated a predetermined number of times, returns to step S10 and repeats the process. On the other hand, when it is repeated a predetermined number of times, the processor 16 of the terminal 1 ends the processing of this flowchart.

図9は、第1の実施形態において、2つの工程を実行した場合の処理結果の一例である。図9に示すように、製造工程において各タイムスロットがほぼ隙間なく埋まり、終了時刻が41860[sec]である。図10は、2つの工程を実行した場合の目的のコスト関数の時間経過を示すグラフである。10000MCSに対して実行時間は45.9秒であり、5000MCSでほぼ極小解に到達している。 FIG. 9 is an example of the processing result when the two steps are executed in the first embodiment. As shown in FIG. 9, each time slot is filled with almost no gap in the manufacturing process, and the end time is 41860 [sec]. FIG. 10 is a graph showing the passage of time of a target cost function when two steps are executed. The execution time is 45.9 seconds for 10000 MCS, and the minimum solution is almost reached at 5000 MCS.

図11は、第1の実施形態において、4つの工程を実行した場合の処理結果の一例である。図11に示すように、製造工程において各タイムスロットが割り当てられ、終了時刻が51880[sec]である。図12は、4つの工程を実行した場合の目的のコスト関数の時間経過を示すグラフである。10000MCSに対して実行時間は101.86秒である。 FIG. 11 is an example of the processing result when the four steps are executed in the first embodiment. As shown in FIG. 11, each time slot is assigned in the manufacturing process, and the end time is 51880 [sec]. FIG. 12 is a graph showing the passage of time of the target cost function when the four steps are executed. The execution time is 101.86 seconds for 10000 MCS.

図13は、第1の実施形態において、6つの工程を実行した場合の処理結果の一例である。図13に示すように、製造工程において各タイムスロットが割り当てられ、終了時刻が65380[sec]である。図14は、6つの工程を実行した場合の目的のコスト関数の時間経過を示すグラフである。10000MCSに対して実行時間は148.92秒である。 FIG. 13 is an example of the processing result when the six steps are executed in the first embodiment. As shown in FIG. 13, each time slot is assigned in the manufacturing process, and the end time is 65380 [sec]. FIG. 14 is a graph showing the passage of time of the target cost function when the six steps are executed. The execution time is 148.92 seconds for 10000 MCS.

図15は、第1の実施形態においてプロセス数と計算時間の関係を示すグラフである。図15に示すように、プロセス数の増加に応じて、計算時間が線形に増加する。 FIG. 15 is a graph showing the relationship between the number of processes and the calculation time in the first embodiment. As shown in FIG. 15, the calculation time increases linearly as the number of processes increases.

以上、第1の実施形態に係る情報処理システムSは、複数種類の製品について複数の生産ラインで生産する場合に、一つの生産ラインのタイムスロット(例えばある製品の後半のタイムスロット)をカットして別の生産ラインに挿入する処理、一つの生産ラインのある製品のタイムスロットの一部もしくは全部を別の生産ラインのタイムスロットに挿入する処理、一つの生産ラインの製品のタイムスロットの一部もしくは全部を別の生産ラインの製品のタイムスロットの一部もしくは全部と入れ替える処理、一つの生産ラインの各製品のタイムスロットと別の生産ラインの各製品のタイムスロットと入れ替え及び/または順番の並び替えのうちの少なくとも一つの処理から選択された処理を実行する対象の候補それぞれと、アニーリングマシン用のコスト関数を、アニーリングマシンに入力する手段を備える。更に情報処理システムSは、アニーリングマシンがアニーリングマシン用のコスト関数に基づいて決定した、前記対象の候補それぞれについて処理を実行するか否かを示す情報を、当該アニーリングマシンから取得する手段を備える。更に情報処理システムSは、前記対象の候補それぞれについて処理を実行するか否かを示す情報に基づいて、目的のコスト関数を決定し、当該目的のコスト関数の値に応じて、前記対象の候補それぞれについて処理を実行するか否かを決定する手段を備える。情報処理システムSは、前記入力する手段と、前記取得する手段と、前記決定する手段の処理を繰り返す。 As described above, the information processing system S according to the first embodiment cuts the time slot of one production line (for example, the time slot of the latter half of a certain product) when a plurality of types of products are produced on a plurality of production lines. The process of inserting into another production line, the process of inserting part or all of the time slot of a product in one production line into the time slot of another production line, the process of inserting a part of the time slot of a product in one production line. Or the process of replacing all of them with some or all of the time slots of products on another production line, replacing the time slots of each product on one production line with the time slots of each product on another production line, and / or ordering. Each of the target candidates for executing the process selected from at least one of the alternative processes and the cost function for the annealing machine are input to the annealing machine. Further, the information processing system S includes means for acquiring information from the annealing machine indicating whether or not to execute processing for each of the target candidates, which is determined by the annealing machine based on the cost function for the annealing machine. Further, the information processing system S determines a target cost function based on the information indicating whether or not to execute the process for each of the target candidates, and the target candidate is determined according to the value of the target cost function. A means for deciding whether or not to execute the process for each is provided. The information processing system S repeats the processing of the input means, the acquisition means, and the determination means.

この構成により、複数種類の製品について複数の生産ラインで生産する場合の時間スケジュールを、より短時間で決定することができる。また、目的のコスト関数とアニーリングマシン用のコスト関数を分けることにより、アニーリングマシン用のコスト関数は二次関数までの利用としつつ、目的のコスト関数を、三次以上の関数など非線形変換を含む一般の関数を利用することができる。また、情報処理システムSが、制約条件を満たすタイムスロットについて処理を行うようにすることで、アニーリングマシンは制約条件を気にすることがなく処理を実行できる。 With this configuration, it is possible to determine a time schedule for producing a plurality of types of products on a plurality of production lines in a shorter time. In addition, by separating the target cost function and the cost function for the annealing machine, the cost function for the annealing machine can be used up to a quadratic function, and the target cost function can be used as a general function including a non-linear transformation such as a third-order or higher function. Functions can be used. Further, by causing the information processing system S to perform processing on a time slot satisfying the constraint condition, the annealing machine can execute the processing without worrying about the constraint condition.

なお、第1の実施形態では製造が複数の工程である場合について説明したが、製造が1つの工程であっても同様に適用可能である。 Although the case where the manufacturing is a plurality of steps has been described in the first embodiment, the same can be applied even if the manufacturing is a single step.

<第2の実施形態>
続いて第2の実施形態について説明する。第1の実施形態では、複数種類の製品について複数の生産ラインで生産する場合に、生産スケジュールの最適化を目的とした。第2の実施形態では、巡回セールスマン問題を解くことを目的とする。巡回セールスマン問題は、都市の集合と各2都市間の移動コスト(ここでは例えば距離)が与えられたとき、全ての都市をちょうど一度ずつ巡り出発地に戻る巡回路のうちで総移動コストが最小のものを求める(セールスマンが所定の複数の都市を1回だけ巡回する場合の最短経路を求める)組合せ最適化問題である。
<Second embodiment>
Subsequently, the second embodiment will be described. The first embodiment aims at optimizing the production schedule when a plurality of types of products are produced on a plurality of production lines. The second embodiment aims to solve the traveling salesman problem. The traveling salesman problem is that given the set of cities and the cost of traveling between each of the two cities (here, for example, the distance), the total travel cost of the traveling circuit that goes around all the cities exactly once and returns to the starting point. It is a combinatorial optimization problem that finds the smallest one (finds the shortest route when a salesman makes a round trip to a plurality of predetermined cities only once).

本実施形態では、一例として、0番から23番までの都市があるものとする。この場合、目的のコスト関数とアニーリング用のコスト関数は同じであり、総移動距離である。第2の実施形態では、第1の実施形態とは制約条件が異なっており、第2の実施形態では
また、特定の都市に特定のタイミングで訪問しなくてはならないという制約条件を付してもよい。この制約条件については、端末1のプロセッサ16側で考慮することで、アニーリングマシン2では考慮する必要がない。
In this embodiment, it is assumed that there are cities from 0 to 23 as an example. In this case, the target cost function and the cost function for annealing are the same, which is the total distance traveled. The second embodiment has different constraints from the first embodiment, and the second embodiment also has the constraint that a specific city must be visited at a specific timing. May be good. This constraint condition is considered on the processor 16 side of the terminal 1, and does not need to be considered on the annealing machine 2.

処理工程としては、端末1のプロセッサ16は例えば、初期状態の訪問順番に対して、X番目に訪問する都市とY番目に訪問する都市を入れ替えるか否かを0、1で用意しておいて、X番目に訪問する都市とY番目に訪問する都市の入れ替えを採択するかどうかをアニーリングマシンで決定し、端末1のプロセッサ16は、採択した結果、総移動距離が短くなっていれば採用し、総移動距離が長くなっていれば採用しない。 As a processing step, for example, the processor 16 of the terminal 1 prepares 0 and 1 whether or not to switch the city to be visited in the Xth place and the city to be visited in the Yth place with respect to the visit order in the initial state. , The annealing machine decides whether to adopt the replacement of the Xth visited city and the Yth visited city, and the processor 16 of the terminal 1 adopts it if the total travel distance is shortened as a result of adoption. , Do not adopt if the total travel distance is long.

また、第2の実施形態において、アニーリングマシンに入力する手段は、複数の対象物(ここでは都市)について、ある対象物(ここでは都市)を別の順番に挿入する処理、ある対象物(ここでは都市)を別の対象物(ここでは都市)と入れ替える処理、対象物(ここでは都市)を別の対象物(ここでは都市)と入れ替え及び/または順番の並び替えのうちの少なくとも一つの処理から選択された処理を実行する対象物の候補それぞれと、アニーリングマシン用のコスト関数を、アニーリングマシンに入力する。 Further, in the second embodiment, the means for inputting to the annealing machine is a process of inserting a certain object (here, a city) in a different order for a plurality of objects (here, a city), and a certain object (here, here). At least one process of replacing an object (here a city) with another object (here a city), replacing an object (here a city) with another object (here a city) and / or rearranging the order. Input each candidate of the object to execute the process selected from and the cost function for the annealing machine into the annealing machine.

図16は、第2の実施形態において初期状態の巡回路を表す模式図である。図16に示すように、各都市が番号とともに示されており、経路が実線で示されている。初期状態の巡回路はランダムで決定されている。 FIG. 16 is a schematic diagram showing a circuit in an initial state in the second embodiment. As shown in FIG. 16, each city is shown with a number and the route is shown by a solid line. The circuit in the initial state is randomly determined.

図17は、第2の実施形態において計算処理後の巡回路を表す模式図である。図17に示すように、総移動距離が最短になるように、各都市が実線で結ばれている。 FIG. 17 is a schematic diagram showing a circuit after calculation processing in the second embodiment. As shown in FIG. 17, each city is connected by a solid line so that the total travel distance is the shortest.

<カット&フリップを含めたデジタルコンピュータの処理内容>
カット&フリップを含めたデジタルコンピュータの処理内容について、以下、三つの利用例について説明する。
<Processing contents of digital computer including cut &flip>
The processing contents of the digital computer including cut and flip will be described below with three usage examples.

(1)素朴な利用例
巡回セールスマン問題では、訪問都市の番号を1,2,3,4,5と振った時にその番号の順列組み合わせで答えが出る。例えば、「5,2,3,1,4」などが答えとなる。この場合、5,2,3,1,4の順に都市を回ると、総移動距離が最短になることを意味する。ここで「1」、「2」などの1都市をカットしてカットした都市同士を入れ替え(フリップ)てもよいし、「5,2」、「1,4」などの連続する複数の都市をカットして、カットした複数都市同士を入れ替え(フリップ)してもよい。このカットは、偶数個用意する。すなわち入れ替える都市候補は複数個用意する。フリップは、これらのカットした都市同士を入れ替えることである。
(1) Simple usage example In the traveling salesman problem, when the number of the visited city is assigned as 1, 2, 3, 4, 5, the answer is given by the order combination of the numbers. For example, "5, 2, 3, 1, 4" is the answer. In this case, going around the city in the order of 5, 2, 3, 1, 4 means that the total travel distance becomes the shortest. Here, one city such as "1" or "2" may be cut and the cut cities may be exchanged (flip), or a plurality of consecutive cities such as "5, 2" and "1, 4" may be used. You may cut and swap (flip) multiple cut cities. Prepare an even number of this cut. That is, prepare multiple city candidates to be replaced. Flip is the swapping of these cut cities.

「5,2,3,1,4」の場合、カット候補(すなわち入れ替える都市候補)として、「2」,「1」とした場合(但し、入れ替える都市候補同士は隣接せず離れていることが条件)、アニーリングマシンの出力値0の場合、「2」,「1」のまま(結果は「5,2,3,1,4」のなる)であることを表し、アニーリングマシンの出力値1の場合、「1」,「2」に変える(結果は「5,1,3,2,4」のなる)ことを表す。
デジタルコンピュータの一例である端末1では、このカットする候補(すなわち入れ替える都市候補)を提案する処理を実行する。そして、端末1は、このカットする候補(すなわち入れ替える都市の候補)を入れ替えた場合の、目的のコスト関数の増減の比較を行う。
In the case of "5, 2, 3, 1, 4", the cut candidates (that is, the city candidates to be replaced) are "2" and "1" (however, the city candidates to be replaced are not adjacent to each other and are separated from each other. Condition), if the output value of the annealing machine is 0, it means that "2" and "1" remain (the result is "5, 2, 3, 1, 4"), and the output value of the annealing machine is 1. In the case of, it means to change to "1" and "2" (the result is "5, 1, 3, 2, 4").
The terminal 1, which is an example of a digital computer, executes a process of proposing a candidate to be cut (that is, a candidate for a city to be replaced). Then, the terminal 1 compares the increase / decrease of the target cost function when the candidates to be cut (that is, the candidates of the cities to be replaced) are replaced.

上記の手続きで提案した入れ替える都市の候補、増減を基に、アニーリングマシンに対してコスト関数を準備する。具体的には、i番目の入れ替える都市候補のペアを、入れ替える(フリップする)とコストが上がるか下がるかを示す数値ΔEiに対してΔEi×Σiというコスト関数を用意する。このΣiが0と1をとる二値の変数である。ペアの数分この項を足し上げて、その総和を最小化する問題をアニーリングマシンで解く。巡回セールスマン問題の場合は、各ペアiごとに独立に決定される項であるので、各ペアiについてΔEiが負であればΣiは1とするのがコスト関数を最小化する解となる。 Prepare a cost function for the annealing machine based on the candidate of the city to be replaced and the increase / decrease proposed in the above procedure. Specifically, a cost function of ΔEi × Σi is prepared for the numerical value ΔEi indicating whether the cost increases or decreases when the i-th pair of city candidates to be exchanged is exchanged (flip). This Σi is a binary variable that takes 0 and 1. Add this term by the number of pairs and solve the problem of minimizing the sum with an annealing machine. In the case of the traveling salesman problem, since it is a term that is independently determined for each pair i, if ΔEi is negative for each pair i, Σi is set to 1 to minimize the cost function.

(2)少し高度な利用例
上記の利用例では独立にカットする候補(すなわち入れ替える都市候補)を考慮して、採用するかどうかを判定することでも処理を行うことができる。
しかしながら、本手法では、より柔軟に、入れ替える都市候補に対してコスト関数をデザインする任意性があり、連続するカットを避けた上記の例から踏み込み、入れ替える都市候補間の相互作用、例えばカットが隣り合うために入替において、独立にコスト関数が決定されず、ΔEiとして書くことができず、ΔEijΣiΣjという二次の項を持つ場合(片方を採用する(Σi=+1)がもう片方は採用しない(Σj=0)場合、両者を採用した場合(Σi=Σj=+1)など)を考慮したコスト関数を用意することも可能である。
(2) Slightly advanced usage example In the above usage example, processing can also be performed by considering candidates to be cut independently (that is, candidate cities to be replaced) and determining whether or not to adopt them.
However, in this method, there is an option to design a cost function for the city candidates to be replaced more flexibly, and the interaction between the city candidates to be replaced, for example, the cut is adjacent, stepping from the above example avoiding continuous cuts. In order to match, the cost function is not determined independently in the replacement, it cannot be written as ΔEi, and it has a quadratic term called ΔEijΣiΣj (one is adopted (Σi = +1), but the other is not adopted (Σj). = 0), it is also possible to prepare a cost function in consideration of the case where both are adopted (Σi = Σj = + 1), etc.).

(3)高度な利用例
同様に「8,2,5,3,6,4,7,1」などの経路があった時に、入れ替える都市候補として、「5,3,6,4」などの4箇所の連続する都市を抜き取ってもよい。このカット内部の都市の入れ替えは4!通りであるが、この4!通りのうち最適なものへ都市の並びを入れ替える(フリップする)というやり方でもよい。その場合、4!通りの中から最適なものを出すためのコスト関数(これは従前の巡回セールスマン問題で、巡回するという条件を外したコスト関数)でよい。
その際、従前の巡回セールスマン問題から巡回する条件を外して、次のようなコスト関数E(x)を利用する。
(3) Advanced usage example Similarly, when there is a route such as "8,2,5,3,6,4,7,1", as a city candidate to be replaced, "5,3,6,4" etc. You may extract four consecutive cities. The replacement of cities inside this cut is 4! It's a street, but this 4! You can also swap (flip) the city lines to the best one on the street. In that case, 4! It can be a cost function to get the best out of the street (this is the conventional traveling salesman problem, a cost function excluding the condition of traveling).
At that time, the following cost function E (x) is used by removing the traveling condition from the conventional traveling salesman problem.

Figure 2021189497
Figure 2021189497

ここでσiは2値変数0または1であり、地点間(i,j)の間の距離dij、第二項、および第三項は必ず異なるタイミングで一度訪問する制約条件を課すための項である。Nは訪問可能な都市の総数である。tは時刻を表すインデックスで、Tは考慮するべき地点の数Nと等しい。またσi,tはi地点に時刻tに訪れるかどうかを示す0と1の情報、λは制約条件を満たす強制力の強さである。このように、アニーリング用のコスト関数及び/または目的のコスト関数は、都市間の距離を表すパラメータを含む。 Here sigma i is the binary variable 0 or 1, between points (i, j) the distance d ij between, paragraph, and for imposing a constraint paragraph to always visit once at different timings It is a term. N is the total number of cities that can be visited. t is an index representing the time, and T is equal to the number N of points to be considered. Further, σ i and t are information of 0 and 1 indicating whether or not the i point is visited at time t, and λ is the strength of the coercive force satisfying the constraint condition. Thus, the cost function for annealing and / or the cost function of interest includes a parameter representing the distance between cities.

以下、図18を用いて、第2の実施形態に係る処理に流れの一例を説明する。図18は第2の実施形態に係る処理に流れの一例を示すフローチャートである。ここでは、一例として、上記の素朴な利用例を前提として説明する。 Hereinafter, an example of the flow in the process according to the second embodiment will be described with reference to FIG. FIG. 18 is a flowchart showing an example of the flow in the process according to the second embodiment. Here, as an example, the above simple usage example will be described as a premise.

(ステップS110)端末1のプロセッサ16は、巡回セールスマン問題に関する情報を受け付ける。ここで巡回セールスマン問題に関する情報は、訪問する場所(例えば都市)、場所の座標、場所の間の距離情報などである。 (Step S110) The processor 16 of the terminal 1 receives information regarding the traveling salesman problem. Information about the traveling salesman problem here includes places to visit (eg, cities), location coordinates, distance information between places, and the like.

(ステップS120)端末1のプロセッサ16は、回答の初期値を設定する。ここで回答の初期値は、「1,2,3,4,5,6,7,8」などの順番データで表される。回答の初期値は、予め決められていてもよいし、乱数で設定されてもよい。 (Step S120) The processor 16 of the terminal 1 sets the initial value of the answer. Here, the initial value of the answer is represented by order data such as "1, 2, 3, 4, 5, 6, 7, 8". The initial value of the answer may be predetermined or may be set by a random number.

(ステップS130)端末1のプロセッサ16は、入れ替える都市ペアの候補を決定する。 (Step S130) The processor 16 of the terminal 1 determines a candidate for a city pair to be replaced.

(ステップS140)端末1のプロセッサ16は、アニーリングマシン用のコスト関数、入れ替える都市ペアの候補を送信する。ここで、アニーリングマシン用のコスト関数は、上記の素朴な利用例、少し高度な利用例、高度な利用例に応じて端末1で設定される。このアニーリングマシン用のコスト関数は例えば、量子アニーリングの利用において必要な2次形式(QUBO(Quadratic Unconstrained Binary Optimization)形式)の行列にかかる係数値である。 (Step S140) The processor 16 of the terminal 1 transmits a cost function for the annealing machine and a candidate for a city pair to be replaced. Here, the cost function for the annealing machine is set in the terminal 1 according to the above-mentioned simple usage example, a slightly advanced usage example, and an advanced usage example. The cost function for this annealing machine is, for example, a coefficient value applied to a matrix of a quadratic form (QUAdratic Unconstrained Binary Optimization) form necessary for the use of quantum annealing.

(ステップS150)アニーリングマシン2は、アニーリングマシン用のコスト関数の最適化を実行する。 (Step S150) The annealing machine 2 performs optimization of the cost function for the annealing machine.

(ステップS160)アニーリングマシン2は、ステップS150の実行によって得られた、候補となった都市ペアを入れ替えるか否かの情報を端末1へ送信する。ここで、都市ペアを入れ替えるか否かの情報は、0か1の情報である。これは、少し高度な利用例でも同様である。 (Step S160) The annealing machine 2 transmits to the terminal 1 information on whether or not to replace the candidate city pair obtained by executing step S150. Here, the information on whether or not to replace the city pair is 0 or 1 information. This is also the case with a slightly advanced use case.

なお、高度な利用例の場合、このステップ160でアニーリングマシン2から端末1へ送信される情報は例えば、0と1のみのデータであるが、それが「5,3,6,4」に対して、例えば、どのような順番で入れ替えをするかを示す0か1の情報である。例えば、[[0,0,0,1],[0,0,1,0],[1,0,0,0],[0,1,0,0]]という場合、4番目、3番目、1番目、2番目の数字をこの順番に並び替えるという意味であり、例えば元の数字の順番が「5,3,6,4」(1番目は5、2番目は3、3番目は6、4番目は4)の場合、「5,3,6,4」から「4,6,5,3」に並び替えよという意味を持つ0,1からなる行列データである。 In the case of an advanced usage example, the information transmitted from the annealing machine 2 to the terminal 1 in this step 160 is, for example, only data of 0 and 1, but it is for "5, 3, 6, 4". For example, it is 0 or 1 information indicating in what order the replacement is performed. For example, in the case of [[0,0,0,1], [0,0,1,0], [1,0,0,0], [0,1,0,0]], the fourth and third It means that the second, first, and second numbers are rearranged in this order. For example, the order of the original numbers is "5, 3, 6, 4" (the first is 5, the second is 3, and the third is. In the case of 4), the sixth and fourth are matrix data consisting of 0 and 1 meaning to sort from "5, 3, 6, 4" to "4, 6, 5, 3".

(ステップS170)端末1のプロセッサ16は、都市候補を入れ替えるかの情報に基づき、都市を入れ替えた場合に、目的のコスト関数(もしくはエネルギー)を下げる場合、採用する。端末1のプロセッサ16は、目的のコスト関数(もしくはエネルギー)を上げるものであっても、確率的な基準(例えば、マルコフ連鎖モンテカルロ法)により、採用・不採用を決定する。 (Step S170) The processor 16 of the terminal 1 is adopted when the target cost function (or energy) is lowered when the cities are replaced based on the information on whether to replace the city candidates. Even if the processor 16 of the terminal 1 raises the target cost function (or energy), it is determined to be adopted or not adopted by a probabilistic standard (for example, Markov chain Monte Carlo method).

(ステップS180)端末1のプロセッサ16は、終了条件を満たすか否かを判定する。終了条件を満たさなければステップS130へ戻って処理を繰り返す。終了条件を満たす場合、)端末1のプロセッサ16は、本フローチャートの処理を終了する。 (Step S180) The processor 16 of the terminal 1 determines whether or not the termination condition is satisfied. If the end condition is not satisfied, the process returns to step S130 and the process is repeated. When the termination condition is satisfied, the processor 16 of the terminal 1 ends the processing of this flowchart.

<第3の実施形態>
続いて第3の実施形態について説明する。第2の実施形態では、巡回セールスマン問題を解くことを目的としたが、第3の実施形態では、WEBページにおいて、ビジネスホテル群の掲載と、リゾートホテル群の掲載とが、ミックスされることを目的とする。
<Third embodiment>
Subsequently, the third embodiment will be described. In the second embodiment, the purpose is to solve the traveling salesman problem, but in the third embodiment, the listing of the business hotel group and the listing of the resort hotel group are mixed on the WEB page. With the goal.

目的とするコスト関数及びアニーリングマシン用のコスト関数は、i番目とj番目のホテルの類似度dijを用いて、以下のようなコスト関数E(x)にする。第3項と第4項は、各ホテルが各順番において1度だけ表示されるために必要な項である。 The target cost function and the cost function for the annealing machine are set to the following cost function E (x) by using the similarity degree dij of the i-th and j-th hotels. The third and fourth terms are necessary for each hotel to be displayed only once in each order.

Figure 2021189497
Figure 2021189497

ここでNはホテルの総数である。hiはi番目のホテルの好感度、σi,tはWEBページにおけるリスト順番(掲載順番)tに対してホテルiが選ばれるかどうかを示す0か1の値、第三項と第四項はホテルが必ず一つ選ばれどの順番にするべきかを一つ答えるための制約項であり、λは制約条件を満たす強制力の強さである。Tはリストで並べるホテルの総数である。なお、hiはi番目のホテルのランキングを示してもよい。このコスト関数E(x)が小さくなると、アニーリングマシン及び情報処理システムは、選択された処理の実行を採用する。このように、アニーリング用のコスト関数及び/または目的のコスト関数は、ホテルの類似度を表すパラメータ、及びホテルの好感度及び/またはランキングを表すパラメータのうち少なくとも一つを含む。 Where N is the total number of hotels. h i is the favorability of the i-th hotel, σ i, t is the value of 0 or 1 indicating whether hotel i is selected for the list order (posting order) t on the WEB page, the third term and the fourth term. The term is a constraint term for answering one hotel in which one is always selected and in what order, and λ is the strength of the coercive force that satisfies the constraint condition. T is the total number of hotels listed. In addition, h i may indicate the ranking of the i-th hotel. When the cost function E (x) becomes smaller, the annealing machine and the information processing system adopt the execution of the selected process. Thus, the cost function for annealing and / or the cost function of interest includes at least one of a parameter representing hotel similarity and a parameter representing hotel favorability and / or ranking.

この場合、第3の実施形態において、アニーリングマシンに入力する手段は、複数の対象物(ここではビジネスホテル群とリゾートホテル群)について、ある対象物(例えばビジネスホテル群)の一部もしくは全部を別の順番に挿入する処理、ある対象物(例えばビジネスホテル群)の一部もしくは全部を別の対象物(例えばリゾートホテル群)の一部もしくは全部と入れ替える処理、対象物(例えばビジネスホテル群)を別の対象物(例えばリゾートホテル群)と入れ替え及び/または順番の並び替えのうちの少なくとも一つの処理から選択された処理を実行する対象物の候補それぞれと、アニーリングマシン用のコスト関数を、アニーリングマシン2に入力する。なお、ここでは、性質(もしくは種類)の異なる複数の宿泊施設群の一例として、ビジネスホテル群とリゾートホテル群について説明したが、これに限ったものではなく、例えば、旅館群とホテル群に適用してもよく、あらゆる性質(もしくは種類)の異なる複数の宿泊施設群に対して適用可能である。 In this case, in the third embodiment, the means for inputting to the annealing machine is a part or all of a certain object (for example, a business hotel group) for a plurality of objects (here, a business hotel group and a resort hotel group). Processing to insert in different order, processing to replace part or all of one object (for example, business hotel group) with part or all of another object (for example, resort hotel group), object (for example, business hotel group) Swap with another object (eg, resort hotel group) and / or perform a process selected from at least one process of the order, and a cost function for the annealing machine. Input to the annealing machine 2. Here, the business hotel group and the resort hotel group have been described as an example of a plurality of accommodation facilities having different properties (or types), but the present invention is not limited to this, and is applied to, for example, an inn group and a hotel group. It may be applicable to a plurality of accommodation facilities having different properties (or types).

なお、上述した実施形態で説明した情報処理システムSは、一つの端末の例について説明したが、これに限らず、複数の情報処理装置によって、情報処理システムSを機能させてもよい。この場合、情報処理システムSの少なくとも一部は、ハードウェアで構成してもよいし、ソフトウェアで構成してもよい。ソフトウェアで構成する場合には、情報処理システムSの少なくとも一部の機能を実現するプログラムをフレキシブルディスクやCD−ROM等の記録媒体に収納し、コンピュータに読み込ませて実行させてもよい。記録媒体は、磁気ディスクや光ディスク等の着脱可能なものに限定されず、ハードディスク装置やメモリなどの固定型の記録媒体でもよい。 The information processing system S described in the above-described embodiment has described an example of one terminal, but the present invention is not limited to this, and the information processing system S may be made to function by a plurality of information processing devices. In this case, at least a part of the information processing system S may be configured by hardware or software. When configured by software, a program that realizes at least a part of the functions of the information processing system S may be stored in a recording medium such as a flexible disk or a CD-ROM, read by a computer, and executed. The recording medium is not limited to a removable one such as a magnetic disk or an optical disk, and may be a fixed recording medium such as a hard disk device or a memory.

また、情報処理システムSの少なくとも一部の機能を実現するプログラムを、インターネット等の通信回線(無線通信も含む)を介して頒布してもよい。さらに、同プログラムを暗号化したり、変調をかけたり、圧縮した状態で、インターネット等の有線回線や無線回線を介して、あるいは記録媒体に収納して頒布してもよい。 Further, a program that realizes at least a part of the functions of the information processing system S may be distributed via a communication line (including wireless communication) such as the Internet. Further, the program may be encrypted, modulated, compressed, and distributed via a wired line or a wireless line such as the Internet, or stored in a recording medium.

以上、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。 As described above, the present invention is not limited to the above embodiment as it is, and at the implementation stage, the components can be modified and embodied within a range that does not deviate from the gist thereof. In addition, various inventions can be formed by an appropriate combination of the plurality of components disclosed in the above-described embodiment. For example, some components may be removed from all the components shown in the embodiments. Further, components over different embodiments may be combined as appropriate.

1 端末
11 入力インタフェース
12 通信回路
13 ストレージ
14 メモリ
15 ディスプレイ
16 プロセッサ
17 カメラ
2 アニーリングマシン
S 情報処理システム
1 Terminal 11 Input interface 12 Communication circuit 13 Storage 14 Memory 15 Display 16 Processor 17 Camera 2 Annie ring machine S Information processing system

Claims (9)

複数の対象物について、ある対象物の一部もしくは全部を別の順番に挿入する処理、ある対象物の一部もしくは全部を別の対象物の一部もしくは全部と入れ替える処理、対象物を別の対象物と入れ替え及び/または順番の並び替えのうちの少なくとも一つの処理から選択された処理を実行する対象物の候補それぞれと、アニーリングマシン用のコスト関数を、アニーリングマシンに入力する手段と、
アニーリングマシンがアニーリングマシン用のコスト関数に基づいて決定した、前記対象物の候補それぞれについて処理を実行するか否かの情報を、当該アニーリングマシンから取得する手段と、
前記対象物の候補それぞれについて処理を実行するか否かを示す情報に基づいて、目的のコスト関数を決定し、当該目的のコスト関数の値に応じて、対象物の候補それぞれについて処理を実行するか否かを決定する手段と、
を備え、
前記入力する手段と、前記取得する手段と、前記決定する手段の処理を繰り返す
情報処理システム。
For multiple objects, the process of inserting part or all of one object in a different order, the process of replacing part or all of one object with part or all of another object, and the process of replacing an object with another. A means of inputting into the annealing machine a cost function for the annealing machine, each candidate for the object to perform the process selected from at least one process of swapping with the object and / or rearranging the order.
A means for obtaining information from the annealing machine as to whether or not to execute processing for each candidate of the object, which is determined by the annealing machine based on the cost function for the annealing machine.
The target cost function is determined based on the information indicating whether or not to execute the process for each of the candidate objects, and the process is executed for each of the candidate objects according to the value of the target cost function. As a means of deciding whether or not
Equipped with
An information processing system that repeats the processing of the input means, the acquisition means, and the determination means.
前記アニーリングマシンに入力する手段は、複数種類の製品について複数の生産ラインで生産する場合に、一つの生産ラインのタイムスロットをカットして別の生産ラインに挿入する処理、一つの生産ラインのある製品のタイムスロットの一部もしくは全部を別の生産ラインのタイムスロットに挿入する処理、一つの生産ラインの製品のタイムスロットの一部もしくは全部を別の生産ラインの製品のタイムスロットの一部もしくは全部と入れ替える処理、一つの生産ラインの各製品のタイムスロットと別の生産ラインの各製品のタイムスロットと入れ替え及び/または順番の並び替えのうちの少なくとも一つの処理から選択された処理を実行する対象物の候補それぞれと、アニーリングマシン用のコスト関数を、アニーリングマシンに入力する
請求項1に記載の情報処理システム。
The means for inputting to the annealing machine is a process of cutting a time slot of one production line and inserting it into another production line when producing a plurality of types of products on a plurality of production lines, and there is one production line. The process of inserting part or all of a product time slot into a time slot of another production line, part or all of a product time slot of one production line, or part or all of a product time slot of another production line. Performs a process selected from at least one process of replacing all, replacing the time slot of each product on one production line with the time slot of each product on another production line, and / or rearranging the order. The information processing system according to claim 1, wherein each candidate of an object and a cost function for the annealing machine are input to the annealing machine.
前記選択された処理の実行の際には、前の工程での処理が終了しているという制約を満たすタイムスロットに対して実行される
請求項2に記載の情報処理システム。
The information processing system according to claim 2, wherein when the selected process is executed, the information processing system is executed for a time slot that satisfies the constraint that the process in the previous step is completed.
前記目的のコスト関数には、生産ライン毎の終了時刻の差が小さいほど評価が高くなる項が含まれる
請求項2または3に記載の情報処理システム。
The information processing system according to claim 2 or 3, wherein the cost function of the object includes a term in which the evaluation becomes higher as the difference in the end time for each production line becomes smaller.
前記アニーリングマシンに入力する手段は、複数の都市について、都市を別の順番に挿入する処理、都市を別の都市と入れ替える処理、都市を別の都市と入れ替え及び/または順番の並び替えのうちの少なくとも一つの処理から選択された処理を実行する都市の候補それぞれと、アニーリングマシン用のコスト関数を、アニーリングマシンに入力する
請求項1に記載の情報処理システム。
The means of inputting to the annealing machine is one of the processes of inserting cities in different orders, swapping cities with different cities, swapping cities with different cities, and / or rearranging the order of multiple cities. The information processing system according to claim 1, wherein each candidate of a city that executes a process selected from at least one process and a cost function for the annealing machine are input to the annealing machine.
前記アニーリングマシンに入力する手段は、性質の異なる複数の宿泊施設群について、宿泊施設群の一部もしくは全部を別の順番に挿入する処理、ある性質の宿泊施設群の一部もしくは全部を別の性質の宿泊施設群の一部もしくは全部と入れ替える処理、ある性質の宿泊施設群を別の性質の宿泊施設群と入れ替え及び/または順番の並び替えのうちの少なくとも一つの処理から選択された処理を実行する宿泊施設の候補それぞれと、アニーリングマシン用のコスト関数を、前記アニーリングマシンに入力する
請求項1に記載の情報処理システム。
The means for inputting to the annealing machine is a process of inserting a part or all of the accommodation group in a different order for a plurality of accommodation groups having different properties, and a process of inserting a part or all of the accommodation group of a certain property into another. A process selected from at least one process of replacing part or all of a group of accommodations of a nature, replacing an accommodation group of one property with an accommodation group of another property, and / or rearranging the order. The information processing system according to claim 1, wherein each candidate of an accommodation facility to be executed and a cost function for the annealing machine are input to the annealing machine.
前記決定する手段は、目的のコスト関数が小さくなることを目的としている場合当該コスト関数が低減すれば前記アニーリングマシンの出力を採用し、該コスト関数が低減しなければ前記アニーリングマシンの出力を採用せず、一方、目的のコスト関数が大きくなることを目的としている場合当該コスト関数が増大すれば前記アニーリングマシンの出力を採用し、該コスト関数が増大しなければ前記アニーリングマシンの出力を採用しない
請求項1から4のいずれか一項に記載の情報処理システム。
When the purpose of the determination means is to reduce the target cost function, the output of the annealing machine is adopted if the cost function is reduced, and the output of the annealing machine is adopted if the cost function is not reduced. On the other hand, when the purpose is to increase the target cost function, the output of the annealing machine is adopted if the cost function increases, and the output of the annealing machine is not adopted unless the cost function increases. The information processing system according to any one of claims 1 to 4.
複数の対象物について、ある対象物の一部もしくは全部を別の順番に挿入する処理、ある対象物の一部もしくは全部を別の対象物の一部もしくは全部と入れ替える処理、対象物を別の対象物と入れ替え及び/または順番の並び替えのうちの少なくとも一つの処理から選択された処理を実行する対象物の候補それぞれと、アニーリングマシン用のコスト関数を、アニーリングマシンに入力する工程と、
アニーリングマシンがアニーリングマシン用のコスト関数に基づいて決定した、前記対象物の候補それぞれについて処理を実行するか否かの情報を、当該アニーリングマシンから取得する工程と、
前記対象物の候補それぞれについて処理を実行するか否かを示す情報に基づいて、目的のコスト関数を決定し、当該目的のコスト関数の値に応じて、対象物の候補それぞれについて処理を実行するか否かを決定する工程と、
を有し、
前記入力する工程と、前記取得する工程と、前記決定する工程の処理を繰り返す
情報処理方法。
For multiple objects, the process of inserting part or all of one object in a different order, the process of replacing part or all of one object with part or all of another object, and the process of replacing an object with another. A process of inputting into the annealing machine a cost function for the annealing machine and each candidate of the object to execute the process selected from at least one process of swapping with the object and / or rearranging the order.
A process of acquiring information from the annealing machine as to whether or not to execute processing for each candidate of the object, which is determined by the annealing machine based on the cost function for the annealing machine.
The target cost function is determined based on the information indicating whether or not to execute the process for each of the candidate objects, and the process is executed for each of the candidate objects according to the value of the target cost function. The process of deciding whether or not
Have,
An information processing method that repeats the processes of the input step, the acquisition step, and the determination step.
コンピュータを、
複数の対象物について、ある対象物の一部もしくは全部を別の順番に挿入する処理、ある対象物の一部もしくは全部を別の対象物の一部もしくは全部と入れ替える処理、対象物を別の対象物と入れ替え及び/または順番の並び替えのうちの少なくとも一つの処理から選択された処理を実行する対象物の候補それぞれと、アニーリングマシン用のコスト関数を、アニーリングマシンに入力する手段と、
アニーリングマシンがアニーリングマシン用のコスト関数に基づいて決定した、前記対象物の候補それぞれについて処理を実行するか否かの情報を、当該アニーリングマシンから取得する手段と、
前記対象物の候補それぞれについて処理を実行するか否かを示す情報に基づいて、目的のコスト関数を決定し、当該目的のコスト関数の値に応じて、対象物の候補それぞれについて処理を実行するか否かを決定する手段と、
として機能させるためのプログラムであって、
前記入力する手段と、前記取得する手段と、前記決定する手段の処理を繰り返すプログラム。
Computer,
For multiple objects, the process of inserting part or all of one object in a different order, the process of replacing part or all of one object with part or all of another object, and the process of replacing an object with another. A means of inputting into the annealing machine a cost function for the annealing machine, each candidate for the object to perform the process selected from at least one process of swapping with the object and / or rearranging the order.
A means for obtaining information from the annealing machine as to whether or not to execute processing for each candidate of the object, which is determined by the annealing machine based on the cost function for the annealing machine.
The target cost function is determined based on the information indicating whether or not to execute the process for each of the candidate objects, and the process is executed for each of the candidate objects according to the value of the target cost function. As a means of deciding whether or not
It is a program to function as
A program that repeats the processing of the input means, the acquisition means, and the determination means.
JP2020090923A 2020-05-25 2020-05-25 Information processing system, information processing method, and program Active JP7486161B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2020090923A JP7486161B2 (en) 2020-05-25 2020-05-25 Information processing system, information processing method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020090923A JP7486161B2 (en) 2020-05-25 2020-05-25 Information processing system, information processing method, and program

Publications (2)

Publication Number Publication Date
JP2021189497A true JP2021189497A (en) 2021-12-13
JP7486161B2 JP7486161B2 (en) 2024-05-17

Family

ID=78849466

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020090923A Active JP7486161B2 (en) 2020-05-25 2020-05-25 Information processing system, information processing method, and program

Country Status (1)

Country Link
JP (1) JP7486161B2 (en)

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6465231B1 (en) 2018-03-12 2019-02-06 富士通株式会社 Optimization device and control method of optimization device

Also Published As

Publication number Publication date
JP7486161B2 (en) 2024-05-17

Similar Documents

Publication Publication Date Title
US8689231B2 (en) System and method for ordering tasks with complex interrelationships
US8688680B2 (en) System and method for preferred services in nomadic environments
EP3358474B1 (en) Route search method, device and apparatus, and non-volatile computer storage medium
US10353909B2 (en) System and method for visualizing data
JP7251645B2 (en) Solution-seeking system, solution-seeking method and solution-seeking program
Mundim et al. A general heuristic for two-dimensional nesting problems with limited-size containers
Lei et al. A unified approach for location-allocation analysis: integrating GIS, distributed computing and spatial optimization
CN110716739A (en) Code change information statistical method, system and readable storage medium
JP4072102B2 (en) Project pre-evaluation method, project pre-evaluation apparatus and program
Gaur et al. Unconventional optimization for achieving well-informed design solutions for the automobile industry
JP2009169689A (en) Data classification method and data processing apparatus
JP6618127B2 (en) Display device, display method, and display program
Yepes-Borrero et al. Flowshop with additional resources during setups: Mathematical models and a GRASP algorithm
JP2021189497A (en) Information processing system, information processing method and program
JP4376670B2 (en) Steiner tree processing apparatus, Steiner tree processing method, and Steiner tree processing program
CN117271754A (en) Data retrieval method, device and equipment
US10295992B2 (en) Production system having constraint evaluator generating constrained sequences
CN114169488B (en) Hybrid element heuristic algorithm-based vehicle path acquisition method with capacity constraint
JPWO2011016281A1 (en) Information processing apparatus and program for Bayesian network structure learning
CN112906091A (en) Geographic information drawing method, device, terminal and medium based on CAD
CN113312331A (en) Data migration method, device, system, electronic equipment and computer readable medium
CN113064982A (en) Question-answer library generation method and related equipment
EP3989059B1 (en) Interactive code optimizer
JP5776403B2 (en) Region search method, region search program, and information processing apparatus
Mujica Mota et al. An improved time line search algorithm for manufacturing decision-making

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230427

RD07 Notification of extinguishment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7427

Effective date: 20231106

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20231106

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20240326

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240329

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20240423

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240425

R150 Certificate of patent or registration of utility model

Ref document number: 7486161

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150