JP7449975B2 - Information processing device, information processing method, program - Google Patents
Information processing device, information processing method, program Download PDFInfo
- Publication number
- JP7449975B2 JP7449975B2 JP2022078124A JP2022078124A JP7449975B2 JP 7449975 B2 JP7449975 B2 JP 7449975B2 JP 2022078124 A JP2022078124 A JP 2022078124A JP 2022078124 A JP2022078124 A JP 2022078124A JP 7449975 B2 JP7449975 B2 JP 7449975B2
- Authority
- JP
- Japan
- Prior art keywords
- information
- condition information
- product
- crossover
- elements
- 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.)
- Active
Links
- 230000010365 information processing Effects 0.000 title claims description 43
- 238000003672 processing method Methods 0.000 title claims description 7
- 238000012545 processing Methods 0.000 claims description 129
- 238000000034 method Methods 0.000 claims description 85
- 238000011156 evaluation Methods 0.000 claims description 75
- 230000008569 process Effects 0.000 claims description 72
- 230000035772 mutation Effects 0.000 claims description 68
- 238000004422 calculation algorithm Methods 0.000 claims description 30
- 210000000349 chromosome Anatomy 0.000 description 75
- 108090000623 proteins and genes Proteins 0.000 description 22
- 238000005457 optimization Methods 0.000 description 18
- 230000002068 genetic effect Effects 0.000 description 16
- 238000007726 management method Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 241000556720 Manga Species 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
Images
Classifications
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/30—Computing systems specially adapted for manufacturing
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Description
本発明は、情報処理装置、情報処理方法、プログラムに関する。 The present invention relates to an information processing device, an information processing method, and a program.
従来、遺伝的アルゴリズムなどの進化計算アルゴリズムを用いて、複数の個体に対して、選択、交叉、および突然変異の処理を行って次世代の複数の個体を生成することを繰り返すことにより、評価の高い個体を生成する技術が提案されている。 Conventionally, using evolutionary calculation algorithms such as genetic algorithms, evaluation is performed by repeatedly performing selection, crossover, and mutation processing on multiple individuals to generate multiple next-generation individuals. Techniques for generating high-quality individuals have been proposed.
特許文献1には、制約条件を満たす個体を生成するために、N個の個体に対して選択、交叉、および突然変異の処理を行って仮制約条件を満たす次世代のN個の個体を生成することを繰り返す、解探索装置が記載されている。ここで、解探索装置は、次世代の個体を生成するたびに、制約条件に近づくように、仮制約条件を更新する。
ここで、進化計算アルゴリズムでは、個体は、通常、1個の染色体(遺伝子が1列に並んだ遺伝情報)を有するが、異なる複数の染色体(条件情報)を有する場合がある。例えば、図3に示す個体X1のように、項目B1~B4それぞれに染色体が対応付けられている場合がある。この場合には、進化計算アルゴリズムを用いた処理において、例えば、1個の個体に突然変異の処理を行う場合には、項目ごとにランダムな位置(遺伝子座)に突然変異の処理が行われる。このため、個体の評価値の収束性が低く、進化計算アルゴリズムの処理が効率的ではないという課題があった。 Here, in the evolutionary calculation algorithm, an individual usually has one chromosome (genetic information in which genes are arranged in a row), but may have a plurality of different chromosomes (condition information). For example, as in individual X1 shown in FIG. 3, chromosomes may be associated with each of the items B1 to B4. In this case, in processing using an evolutionary calculation algorithm, for example, when mutation processing is performed on one individual, mutation processing is performed at random positions (genetic loci) for each item. For this reason, there was a problem that the convergence of individual evaluation values was low and the processing of the evolutionary calculation algorithm was not efficient.
そこで、本発明は、進化計算アルゴリズムの処理を効率よく実行させる技術の提供を目的とする。 Therefore, an object of the present invention is to provide a technique for efficiently executing processing of an evolutionary calculation algorithm.
本発明の1つの態様は、
進化計算アルゴリズムを用いて、複数の要素の条件を決定する情報処理装置であって、
前記複数の要素のそれぞれの条件情報を含む条件情報集合を複数取得し、前記複数の条件情報集合をそれぞれ評価することと、交叉の処理および突然変異の処理を行って次世代の複数の条件情報集合を生成することとを繰り返して、前記複数の要素の条件を決定する決定手段を有し、
前記交叉の処理は、2つの条件情報集合における同一の要素同士の条件情報を交叉させる処理であり、
前記決定手段は、前記複数の要素のうち第1の要素と第2の要素とが類似度に応じた所定の関係を満たせば、前記交叉の処理を行う場合には、前記第1の要素の条件情報に前記交叉の処理を行う場合と前記第2の要素の条件情報に前記交叉の処理を行う場合とで同じ交叉点で、前記第1の要素の条件情報と前記第2の要素の条件情報それぞれに前記交叉の処理を行う、
ことを特徴とする情報処理装置である。
One aspect of the present invention is
An information processing device that determines conditions of multiple elements using an evolutionary calculation algorithm,
Acquire a plurality of condition information sets including condition information for each of the plurality of elements, evaluate each of the plurality of condition information sets, and perform crossover processing and mutation processing to obtain the next generation of the plurality of condition information. and determining means for determining conditions of the plurality of elements by repeatedly generating a set,
The crossover process is a process of crossing condition information of the same elements in two condition information sets,
If the first element and the second element among the plurality of elements satisfy a predetermined relationship according to the degree of similarity, when performing the crossover process, the determining means determines that the first element is When performing the crossover process on the condition information and when performing the crossover process on the condition information of the second element , the condition information of the first element and the condition of the second element are the same at the same intersection point. performing the crossover processing on each piece of information ;
This is an information processing device characterized by the following.
この構成によれば、第1の要素と第2の要素とが類似度に応じた所定の関係を満たす場合には、この2つの要素の条件情報(染色体)に対して同一の交叉の処理が行われる。このため、2つの要素の条件情報に対する処理をまとめて実行することが可能になるため、
進化計算アルゴリズムを用いた最適化処理を効率化(簡素化)することができる。また、複数の要素の条件情報に同一の交叉の処理が行われると、これらの条件情報同士が同様のものになりやすくなる。よって、例えば、第1の要素と第2の要素とが類似度に応じた所定の関係を満たす場合に、評価が高くなる条件情報が第1の要素と第2の要素とで互いに類似するのであれば、進化計算アルゴリズムにおける収束性が向上する。
According to this configuration, when the first element and the second element satisfy a predetermined relationship according to the degree of similarity, the same crossover process is performed on the condition information (chromosomes) of these two elements. It will be done. For this reason, it becomes possible to execute processing for the condition information of two elements at once.
Optimization processing using an evolutionary calculation algorithm can be made more efficient (simplified). Further, when the same crossover process is performed on the condition information of a plurality of elements, the condition information tends to become similar. Therefore, for example, when the first element and the second element satisfy a predetermined relationship depending on the degree of similarity, the condition information that gives a high evaluation is similar to the first element and the second element. If it exists, the convergence of evolutionary calculation algorithms will improve.
なお、条件情報とは、例えば、1次元配列の情報であって、進化計算アルゴリズムにおける「染色体」である。条件情報集合は、進化計算アルゴリズムにおける「個体」である。 Note that the condition information is, for example, information on a one-dimensional array, and is a "chromosome" in an evolutionary calculation algorithm. The condition information set is an "individual" in the evolutionary calculation algorithm.
上記の情報処理装置において、前記決定手段は、前記複数の要素のうち第1の要素と第2の要素とが類似度に応じた前記所定の関係が満たせば、前記突然変異の処理を行う場合には、前記第1の要素の条件情報に対して突然変異を行うとともに、前記第2の要素の条件情報に対しても同じ突然変異を行ってもよい。これによれば、交叉の処理だけでなく、突然変異の処理についても2つの要素の条件情報に対して同一の処理を実行可能になるため、さらに進化計算アルゴリズムを用いた最適化処理を効率化(簡素化)することができる。 In the above information processing device, the determining means performs the mutation process if the predetermined relationship depending on the degree of similarity between the first element and the second element among the plurality of elements is satisfied. In this case, the condition information of the first element is subjected to mutation, and the same mutation may be performed to the condition information of the second element. According to this, not only crossover processing but also mutation processing can be performed on the condition information of two elements, which further improves the efficiency of optimization processing using evolutionary calculation algorithms. (simplification).
上記の情報処理装置において、前記複数の要素間の類似度に応じて、前記複数の要素を複数のグループに分類する制御手段をさらに有し、前記第1の要素と前記第2の要素とが類似度に応じた前記所定の関係を満たす場合とは、前記第1の要素と前記第2の要素とが同一のグループに分類されている場合であってもよい。これによれば、グループごとに交叉の処理を行うことが可能になるので、進化計算アルゴリズムを用いた最適化処理を効率化(簡素化)することができる。 The above information processing device further includes a control means for classifying the plurality of elements into a plurality of groups according to the degree of similarity between the plurality of elements, and the first element and the second element The case where the predetermined relationship based on the degree of similarity is satisfied may be the case where the first element and the second element are classified into the same group. According to this, it becomes possible to perform crossover processing for each group, so that optimization processing using an evolutionary calculation algorithm can be made more efficient (simplified).
上記の情報処理装置において、前記制御手段は、前記複数の要素間の類似度を各要素の属性に応じて判定してもよい。 In the above information processing apparatus, the control means may determine the degree of similarity between the plurality of elements according to an attribute of each element.
上記の情報処理装置において、前記複数の要素は、互いに異なる種類の商品であり、前記属性は、それぞれの商品に対応付けられた情報であって、カテゴリ、商品名、メーカー情報、スペック、価格、商品説明、販売開始日の少なくとも1つを含む情報であってもよい。 In the above information processing device, the plurality of elements are mutually different types of products, and the attributes are information associated with each product, such as category, product name, manufacturer information, specifications, price, The information may include at least one of a product description and a sales start date.
上記の情報処理装置において、前記複数の要素は、互いに異なる種類の商品であり、複数の商品それぞれの条件情報は、複数の保管場所それぞれでの当該商品の在庫の有無を示していてもよい。これによれば、各保管場所への各種類の商品の配置を決定することが可能になる。 In the above information processing device, the plurality of elements may be different types of products, and the condition information for each of the plurality of products may indicate whether the product is in stock at each of the plurality of storage locations. According to this, it becomes possible to determine the placement of each type of product in each storage location.
上記の情報処理装置において、前記決定手段は、前記複数の条件情報集合それぞれの評価値を算出し、前記評価値は、1種類の商品あたりの当該商品が保管されている保管場所の数と、過去の出荷実績データに基づく商品の配送コストとに基づく値であってもよい。これによれば、情報処理装置は、保管場所での管理コストと配送コストとの両方を考慮した評価を行うことが可能になる。つまり、各保管場所への各種類の商品の配置を適切に決定することが可能になる。 In the above information processing device, the determining means calculates an evaluation value for each of the plurality of condition information sets, and the evaluation value is determined based on the number of storage locations where the product is stored per one type of product, and The value may be based on the shipping cost of the product based on past shipping performance data. According to this, it becomes possible for the information processing device to perform an evaluation that takes into account both the management cost at the storage location and the delivery cost. In other words, it becomes possible to appropriately determine the placement of each type of product in each storage location.
なお、本発明は、上述した機能および処理の少なくとも一部を含む情報処理方法、電子機器、電子機器の制御方法、情報処理システム、商品管理システム、商品管理装置、商品管理方法、最適化処理装置、最適化方法と捉えることができる。また、本発明は、情報処理装置(電子機器)の各手段(情報処理方法の各ステップ)をコンピュータに実行させるプログラム、または、当該プログラムを非一時的に記憶した記憶媒体などとして捉えるこ
ともできる。
The present invention also relates to an information processing method, an electronic device, a control method for an electronic device, an information processing system, a product management system, a product management device, a product management method, and an optimization processing device that include at least a part of the functions and processes described above. , it can be considered as an optimization method. Further, the present invention can also be understood as a program that causes a computer to execute each means (each step of an information processing method) of an information processing device (electronic device), or a storage medium that non-temporarily stores the program. .
本発明によれば、進化計算アルゴリズムの処理を効率よく実行させることができる。 According to the present invention, processing of an evolutionary calculation algorithm can be executed efficiently.
以下、図面を参照して本発明の例示的な実施形態を詳細に説明する。なお、本発明は説明する実施形態に限定されない。また、実施形態で説明される構成要素の全てが本発明に必須とは限らない。 Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the drawings. Note that the present invention is not limited to the described embodiments. Furthermore, not all of the components described in the embodiments are essential to the present invention.
<実施形態1>
実施形態1では、注文者からの注文に応じて、倉庫(保管場所)から商品を注文者に配送(出荷)する業者に関して、P種類(P>2)の商品をQ箇所(P>Q、かつQ>2)の倉庫に配置する場合を想定する。そして、実施形態1に係る情報処理装置1は、進化計算アルゴリズムとして遺伝的アルゴリズムを用いて、配送コストが低く、かつ、倉庫の管理コストを少なくするように、P種類の商品のQ箇所の倉庫への配置(P種類の商品の配置条件)を制御する。なお、遺伝的アルゴリズムの代わりに、メメティックアルゴリズム(Memeticアルゴリズム)、免疫型最適化アルゴリズム、分散型遺伝的アルゴリズム(島モデル)などの進化計算アルゴリズムを用いてもよい。
<
In the first embodiment, in response to an order from an orderer, a company that delivers (ships) products from a warehouse (storage location) to the orderer ships products of P types (P>2) to Q locations (P>Q, Assume that the storage device is placed in a warehouse where Q>2). Then, the
例えば、図1のように倉庫A(1)~A(3)に商品B(1)~B(4)が配置されており、注文者の配送先(住所)から倉庫A(1),A(2),A(3)の順で近い場合を想定する。この場合には、注文者が、商品B(1),B(4)を同時に注文した場合には、商品B(1)を倉庫A(1)から配送し、商品B(4)を倉庫A(3)から配送することが最も低い配送コストで2種類の商品を配送できる。一方で、倉庫A(1)に商品B(1),B(4)の両方が配置されていれば、倉庫A(1)から2種類の商品を配送できるため、さらに配送コストを下げることができる。しかし、倉庫A(1)に商品B(1)~B(4)の4種類の商品が配置されている場合には、倉庫A(1)に商品B(1)~B(3)の3種類の商品が配置されている場合よりも、倉庫A(1)の管理コストが高い。 For example, as shown in Figure 1, products B(1) to B(4) are placed in warehouses A(1) to A(3), and from the delivery destination (address) of the orderer to warehouses A(1), A(3), and Assume that (2) and A(3) are close in this order. In this case, if the orderer orders products B(1) and B(4) at the same time, product B(1) will be delivered from warehouse A(1) and product B(4) will be delivered from warehouse A. (3) Two types of products can be delivered at the lowest shipping cost by shipping from (3) onwards. On the other hand, if both products B(1) and B(4) are placed in warehouse A(1), two types of products can be delivered from warehouse A(1), which further reduces delivery costs. can. However, if four types of products B(1) to B(4) are placed in warehouse A(1), three types of products B(1) to B(3) are placed in warehouse A(1). The management cost of warehouse A(1) is higher than when different types of products are arranged.
このようなことを鑑み、実施形態1では、注文者へ商品を配送する際の配送コストを下げることを目的にしながら、さらに倉庫の管理コストを減少させることを目的にする。実施形態1では、情報処理装置1は、P種類の商品間の類似度に基づき、交叉の処理および
突然変異の処理を制御することにより、これらの目的を達成させる。
In view of this, in the first embodiment, the purpose is to reduce the delivery cost when delivering the product to the orderer, and further to reduce the warehouse management cost. In the first embodiment, the
(情報処理装置の構成)
図2を参照して、情報処理装置1の構成について説明する。情報処理装置1は、プロセッサや記憶媒体(メモリ)などを有して、情報を処理することが可能であれば、任意の装置(パーソナルコンピュータなど)であってよい。情報処理装置1は、取得部201、評価部202、生成部203、制御部204、属性格納部205を有する。なお、情報処理装置1に含まれるプロセッサが、取得部201、評価部202、生成部203、制御部204として機能する。情報処理装置1が含む記憶媒体(メモリ)が、属性格納部205として機能する。
(Configuration of information processing device)
The configuration of the
取得部201は、P種類の商品の在庫配置情報を有する在庫配置情報集合(条件情報集合)のN個(N>2)をそれぞれ、遺伝子アルゴリズムにおける「個体」として取得(生成)する。在庫配置情報(条件情報)は、当該在庫配置情報に紐づけられた商品が、倉庫A(1)~A(Q)のそれぞれに配置されるか否か(在庫の有無;配置条件)を示すような、遺伝子アルゴリズムにおける「染色体」である。このため、実施形態1では、各個体は、商品B(1)~B(P)のP種類の商品(要素;項目)のそれぞれについて染色体を有する。つまり、各個体は、P個の染色体を有する。具体的には、各個体において、図3に示すように、各商品に対して、倉庫A(1)~A(Q)のそれぞれに配置されているか否かを「0」および「1」により示す1次元配列が染色体として設定されている。例えば、個体X1について、商品B(1)の染色体の1列目(1つ目の遺伝子)の値が「1」であれば、倉庫A(1)に商品B(1)が配置されることが示されている。一方、個体X1について、商品B(4)の染色体の5列目(5つ目の遺伝子)の値が「0」であれば、倉庫A(5)に商品B(4)が配置されないことが示されている。
The
なお、各商品の在庫配置情報(染色体)において、各遺伝子は、各倉庫における当該商品の個数の上限値または下限値を示すものであってもよい。例えば、個体X1について、商品B(1)の染色体の1列目(1つ目の遺伝子)の値が「10」であれば、倉庫A(1)に少なくとも10個の商品B(1)が配置されることを示していてもよい。一方、個体X1について、商品B(4)の染色体の5列目(5つ目の遺伝子)の値が「15」であれば、倉庫A(5)に少なくとも15個の商品B(4)が配置されることを示していてもよい。さらに、各商品の在庫配置情報(染色体)において、各遺伝子は、各倉庫における当該商品の保管に用いる場所(例えば、棚)のサイズを示すものであってもよい。 In addition, in the inventory location information (chromosome) of each product, each gene may indicate the upper limit or lower limit of the number of the product in each warehouse. For example, for individual X1, if the value of the first column (first gene) of the chromosome of product B (1) is "10", then at least 10 products B (1) are in warehouse A (1). It may also indicate that it will be placed. On the other hand, for individual X1, if the value of the fifth column (fifth gene) of the chromosome of product B (4) is "15", there are at least 15 products B (4) in warehouse A (5). It may also indicate that it will be placed. Furthermore, in the inventory location information (chromosome) for each product, each gene may indicate the size of the location (for example, shelf) used to store the product in each warehouse.
評価部202は、N個の個体(在庫配置情報集合;条件情報集合)の評価を行う。具体的には、評価部202は、N個の個体それぞれについて、配送コストと倉庫の管理コストとに基づき評価値を算出する。評価値の算出方法については、図7のフローチャートを用いて詳細に後述する。
The
生成部203は、N個の個体を用いて、選択(Selection)の処理、交叉(Crossover)の処理、および突然変異(mutation)の処理を実行して、次世代のN個の個体を生成する。生成部203は、選択部211、交叉処理部212、突然変異処理部213を有する。
The
制御部204は、情報処理装置1の各構成を制御する。制御部204(決定部)は、取得部201、評価部202、および生成部203の全ての処理または一部の処理を行ってもよい。また、制御部204は、評価部202による評価に基づき、生成部203が次世代のN個の個体を生成することを終了させるか否かを判定する。制御部204は、生成部203が次世代のN個の個体を生成することを終了させた時点における現世代のN個の個体に基づき、P種類の商品のQ箇所の倉庫への配置(各種類の商品の倉庫への配置条件)
を決定する。例えば、制御部204は、評価値が最も高い個体(在庫配置情報集合)が示す染色体(配置情報)に従って、P種類の商品のQ箇所の倉庫への配置を決定する。
The
Determine. For example, the
属性格納部205は、図4に示すように、商品B(1)~B(P)それぞれの属性の情報を格納する。例えば、属性の情報としては、商品名(商品の名称)、カテゴリ情報(特大分類、大分類、中分類、小分類)、色情報などがある。特大分類とは、商品の最も抽象的なカテゴリである。特大分類、大分類、中分類、小分類の順に、徐々に具体的なカテゴリに変化していく。例えば、図4に示すように、特定のゲルインクボールペンである商品B(1)については、特大分類が「文具・事務用品」であり、大分類が「筆記用具」であり、中分類が「ボールペン」であり、小分類が「ゲルインクボールペン」である。なお、属性の情報は、例えば、メーカー情報(製造者に関する情報、シリーズ名、またはブランド名)、価格、スペック、商品説明、および販売開始日の少なくとも1つを含んでいてもよい。スペックとは、商品の寸法、重量、および機能の少なくともいずれかに関する詳細情報である。価格とは、商品価格である。例えば、ユーザが同価格帯の複数の商品を同時に購入する可能性があるため、属性の情報に価格が含まれる。商品説明とは、WEBサイトなどに表示される商品を説明する文章であって、キャッチコピーを含む。販売開始日とは、商品の発売(販売)が開始された日である。例えば、同日に発売が開始された複数の商品は同じ商品シリーズの可能性(つまり、類似している可能性)があるため、属性の情報に発売開始日が含まれる。
As shown in FIG. 4, the
また、属性格納部205は、商品(要素;項目)の類似度に応じて(複数の商品が類似度に応じた特定の関係を満たすか否かに応じて)、商品B(1)~B(P)を複数のグループに分類したグループ情報を格納する。ここで、商品のグループの分類の処理は、例えば、制御部204が属性の情報に基づき実行する。例えば、属性における「小分類」が同一の商品同士は、互いに類似度が高い(閾値より高い)ため、1つのグループにまとめられる。つまり、「小分類」ごとのグループに、P種類の商品がグループ化されてもよい。例えば、図4に示す例であれば、商品B(1)と商品B(4)とはともに「小分類」が「ゲルボールボールペン」であるため、同じグループに分類される。なお、「小分類」の代わりに、「中分類」や「大分類」が用いられてもよい。
In addition, the
なお、互いに類似度が閾値より高い商品が1つのグループに分類されるのであれば、任意のグループの分類が行われてもよい。例えば、制御部204は、属性の「大分類」が互いに同じであり、かつ、「色情報」も互いに同じである複数の商品を1つのグループに分類してもよい。また、制御部204は、商品名(商品の名称)の類似度が互いに所定値よりも高い複数の商品を1つのグループに分類してもよい。ここで、商品名の類似度の判定には、例えば、「レーベンシュタイン距離」や、テキスト情報を分散表現などを用いて連続値のベクトルに変換した後に「コサイン類似度」などで評価するといった既知の技術を用いることができる。さらに、類似度が互いに閾値より高い2つの商品同士をペア化することにより、グループを分類してもよい。なお、或る商品に類似する商品が存在しない場合などに起因して、グループに1つの商品のみが所属する場合も考えられる。なお、商品間の類似度は、属性に応じた類似度ではなく、商品が写った写真から判定される類似度であってもよい。
Note that as long as products whose similarity is higher than a threshold value are classified into one group, classification into any group may be performed. For example, the
選択部211は、現世代のN個の個体から、評価値が低い順にM個(例えば、N/2個)の個体を削除する。これにより、選択部211は、現世代のN個の個体から、評価値が高いN-M個の個体を選択する。なお、選択部211は、N個の個体のうちから、評価値が閾値よりも低い個体を除外してもよい。このことにより、選択部211は、評価値が閾値以上である複数の個体を選択してもよい。このとき、選択部211は、評価値の高い個体を選択する可能性が高い方法であれば、ルーレット方式(Roulette Wheel Selection)、ランキング方式(Rank Selection)、エリー
ト主義(Elitism)などの任意の選択方法によって、個体を選択してもよい。
The
交叉処理部212は、選択部211が選択した複数の個体から2個の個体をさらに選択して、選択した2個の個体に交叉の処理を行う。このことにより、交叉処理部212は、1個の次世代の個体を生成する。交叉の処理とは、2個の個体において、同一の商品同士(要素同士)の染色体(在庫配置情報)を、ランダムに決定された交叉点(交叉の基準となる遺伝子座)を基準として掛け合わせることである。
The
例えば、図5Aに示すような個体X1を1番目の個体として選択して、個体X2を2番目の個体として選択して、2個の個体の商品B(1)の2個の染色体同士を交叉させる場合について説明する。このとき、染色体の5列目と6列目の間の位置を交叉点とすると、交叉処理部212は、1番目の個体X1の商品B(1)の染色体の1列目~5列目と、2番目の個体X1の商品B(1)の染色体の6列目~12列目とを掛け合わせる。このことにより、交叉処理部212は、次世代の個体Xaの商品B(1)の染色体を生成する。交叉処理部212は、個体X1および個体X2の商品B(2)~B(P)の染色体についても同様の処理を行うことにより、次世代の個体Xaを生成する。なお、交叉点は、1点であることに限らず、2点や3点であってもよい。また、交叉の処理は、一様交叉であってもよい。
For example, select individual X1 as the first individual as shown in FIG. 5A, select individual X2 as the second individual, and cross-cross the two chromosomes of product B(1) of the two individuals. A case will be explained below. At this time, assuming that the position between the 5th and 6th columns of the chromosomes is the crossover point, the
突然変異処理部213は、交叉の処理により生成された個体に対して突然変異の処理を行う。このことにより、突然変異処理部213は、1個の次世代の個体を生成する。突然変異の処理とは、1個の個体の各商品の染色体において、ランダムな1箇所(遺伝子座)の遺伝子(情報)を変更する(反転させる)ことである。 The mutation processing unit 213 performs mutation processing on the individuals generated by the crossover processing. As a result, the mutation processing unit 213 generates one next-generation individual. Mutation processing means changing (inverting) the gene (information) at one random location (genetic locus) in the chromosome of each product of one individual.
例えば、図5Bに示すような個体X1において、商品B(1)の染色体に突然変異の処理を行う場合について説明する。このとき、突然変異の対象(対象位置)を染色体の5列目の遺伝子であるとすると、突然変異処理部213は、当該5列目の遺伝子が示す「0」を「1」に変更する(反転させる)。このことにより、突然変異処理部213は、次世代の個体Xbの商品B(1)の染色体を生成する。交叉処理部212は、個体X1の商品B(2)~B(P)の染色体についても同様の処理を行うことにより、次世代の個体Xbを生成する。
For example, a case will be described in which mutation processing is performed on the chromosome of product B(1) in individual X1 as shown in FIG. 5B. At this time, if the mutation target (target position) is the gene in the fifth column of the chromosome, the mutation processing unit 213 changes "0" indicated by the gene in the fifth column to "1" ( (invert). As a result, the mutation processing unit 213 generates the chromosome of product B(1) of the next generation individual Xb. The
(最適化処理について)
図6のフローチャートを参照して、評価値の高いN個の個体の集合を決定することにより、個体の最適化(各染色体の最適化)を行う最適化処理について説明する。図6のフローチャートの処理は、情報処理装置1において、プロセッサが、記憶媒体に格納されたプログラムを実行することにより実現される。
(About optimization processing)
With reference to the flowchart of FIG. 6, an optimization process for optimizing individuals (optimizing each chromosome) by determining a set of N individuals with high evaluation values will be described. The processing in the flowchart of FIG. 6 is realized by a processor in the
ステップS1001において、取得部201は、N個の個体を現世代の個体として取得する。このとき、取得部201は、ランダムにN個の個体を生成してもよいし、ユーザが入力したN個の個体を取得してもよい。このとき、取得部201は、例えば、1個の個体において、商品が異なれば、商品の染色体についても異なるように、各個体を生成する。なお、取得部201は、各個体において、同一のグループに属する複数の商品(互いに類似する複数の商品)の染色体が互いに同一になるように当該個体を取得してもよい。または、取得部201は、各個体において、同一のグループに属する複数の商品の染色体が互いに類似するように当該個体を取得してもよい。ここで、「2つの染色体が互いに類似する」とは、例えば、2つの染色体の合致度(一致度)が所定値(例えば、90%または95%)以上であることをいう。
In step S1001, the
実施形態1では、取得部201は、制約条件を満たすような、現世代のN個の個体を取
得する。ここで、制約条件は、例えば、各倉庫の在庫容量を超過しないこと、各倉庫の出荷能力を超過しないこと、各商品の在庫容量は不変であること、および各商品は少なくとも1箇所に配置されていることの少なくとも1つの条件を含む。なお、制約条件は、設定されていなくてもよく、取得部201は、制約なく、現世代のN個の個体を取得してもよい。
In the first embodiment, the
ステップS1002において、評価部202は、現世代のN個の個体それぞれの評価値を算出する。評価値の算出処理(算出方法)については、図7のフローチャートを用いて後述する。
In step S1002, the
ステップS1003において、制御部204は、最適化処理の終了条件を満たすか否かを判定する。例えば、制御部204は、現世代のN個の個体の評価値の最小値または最大値が閾値より大きい場合には、終了条件を満たすと判定する。また、制御部204は、現世代のN個の個体の評価値の平均値または中央値が閾値より大きい場合には、終了条件を満たすと判定してもよい。さらに、制御部204は、設定した世代数に達した時点(例えば、ステップS1003の処理が特定の回数だけ実行された時点)で、終了条件を満たすと判定してもよい。終了条件が満たされたと判定された場合には、最適化処理が終了する。終了条件が満たされていないと判定された場合には、ステップS1004に進む。なお、最適化処理が終了した場合には、制御部204は、現世代のN個の個体を、最適化されたN個の個体として決定する。ステップS1003の処理により、制御部204は、終了条件を満たすN個の個体が生成されるまで、次世代のN個の個体の生成および評価を繰り返すように制御することができる。
In step S1003, the
ステップS1004において、選択部211は、現世代のN個の個体から、評価値が低い順にM個(例えば、N/2個)の個体を取り除く(削除する)。これにより、選択部211は、現世代のN個の個体から、評価値が高いN-M個の個体を選択する。また、選択部211は、現世代のN個の個体から評価値が閾値よりも小さい個体を取り除いてもよい。これにより、選択部211は、現世代のN個の個体から、評価値が閾値以上である複数の個体を選択することができる。また、選択部211は、各個体が制約条件をどれだけ満たしているか(制約違反の量)に応じて、現世代のN個の個体から取り除く個体を決定してもよい。
In step S1004, the
制御部204は、次世代のN個の個体を生成するまで、ステップS1005およびS1006の処理を繰り返すように制御する。つまり、次世代のN個の個体が生成されると、ステップS1007に進む。
The
ステップS1005において、交叉処理部212は、ステップS1004にて選択部211が選択した複数の個体のうちの2個の個体を選択する。そして、交叉処理部212は、選択した2個の個体を用いて交叉の処理を行うことにより、1個の次世代の個体を生成する。ステップS1005の処理の詳細については、図8Aのフローチャートを用いて後述する。
In step S1005, the
ステップS1006において、突然変異処理部213は、特定の確率(例えば、0.5%の確率)で、交叉処理により生成された1個の個体を用いて突然変異の処理を行うことにより、1個の次世代の個体を生成する。ステップS1006の処理の詳細については、図8Bのフローチャートを用いて後述する。 In step S1006, the mutation processing unit 213 performs mutation processing using one individual generated by the crossover process with a specific probability (for example, a probability of 0.5%). Generate the next generation of individuals. Details of the process in step S1006 will be described later using the flowchart in FIG. 8B.
ステップS1007において、制御部204は、現世代のN個の個体を更新する。具体的には、制御部204は、生成部203が生成した次世代のN個の個体を、現世代のN個の個体として扱う。
In step S1007, the
(評価値の算出処理;S1002)
図7のフローチャートを参照して、評価部202が行う評価値の算出処理の詳細について説明する。なお、図7のフローチャートの処理は、現世代のN個の各個体それぞれについて個別に行われる。以下では、個体X1について、図7のフローチャートの処理が行われる場合について説明する。
(Evaluation value calculation process; S1002)
Details of the evaluation value calculation process performed by the
ステップS2001において、評価部202は、個体X1の各商品の染色体から、各商品について何箇所の倉庫に配置されているか(指標α)を判定する。例えば、図3に示す個体X1において、商品B(1)の染色体は「1」という数値を6個含むため、6箇所の倉庫に商品B(1)が配置されていると判定できる。一方で、商品B(2)の染色体は「1」という数値を3個含むため、3箇所の倉庫に商品B(2)が配置されていると判定できる。そして、評価部202は、1種類の商品あたりの、当該商品が配置される倉庫の平均値(指標α)を管理コストとして算出する。図3の個体X1の例では、商品B(1)が6箇所の倉庫に配置され、商品B(2)が3箇所の倉庫に配置され、商品B(3)が3箇所の倉庫に配置され、商品B(4)が6箇所の倉庫に配置されるため、平均値は4.5箇所である。なお、指標αは、倉庫(商品)の管理コストを示す値であれば、任意の指標であってよい。なお、各商品の在庫配置情報(染色体)において、各遺伝子が、各倉庫における当該商品の個数の下限値を示すものである場合には、管理コストは、例えば、配置される商品の総数である。
In step S2001, the
ステップS2002において、評価部202は、過去の所定期間の商品出荷の実績を示す出荷実績データを取得する。出荷実績データは、例えば、各出荷(各注文)における、出荷(配送)された商品の情報と注文者の住所(商品の配送先)の情報とが対応付けられたデータを、過去の所定期間分だけ有している。これらの情報は、情報処理装置1の記憶媒体などに予め格納されている。
In step S2002, the
ステップS2003において、評価部202は、個体X1の染色体の情報と出荷実績データに基づき、出荷ごとの配送コストを算出する。例えば、図1に示すような注文者が商品B(1)と商品B(4)を注文した場合における、出荷の配送コストの算出方法について説明する。そして、注文者の住所に最も近い倉庫A(1)に商品B(1)~B(3)を配置して、注文者の住所に2番目に近い倉庫A(2)に商品B(1),B(3)を配置して、注文者の住所に3番目に近い倉庫A(3)に商品B(2),B(4)を配置することを、個体X1の染色体が示していると仮定する。この場合には、注文者の住所に最も近い倉庫A(1)から商品B(1)が注文者に配送され、かつ、倉庫A(3)から商品B(4)が注文者に配送される場合が最も早く各商品を注文者が受け取ることができる。このため、この場合には、倉庫A(1)から注文者の住所までの距離D1の分と、倉庫A(3)から注文者の住所までの距離D3の分だけ、配送の労力が必要になる。よって、例えば、評価部202は、この場合の配送コストとして、D1とD3の合計を算出する。
In step S2003, the
一方で、例えば、図1に示すような注文者が商品B(1)と商品B(3)を注文した場合には、倉庫A(1)から両方の商品が注文者の住所に届けられると、最も早く各商品が注文者に届く。このため、例えば、評価部202は、この場合の配送コストとして、倉庫A(1)から注文者の住所までの距離D1を算出する。
On the other hand, for example, if an orderer as shown in Figure 1 orders product B (1) and product B (3), both products will be delivered to the orderer's address from warehouse A (1). , each item will be delivered to the orderer as soon as possible. Therefore, for example, the
なお、評価部202は、他の様々なことを考慮して、出荷ごとの配送コストを算出してもよい。例えば、評価部202は、各商品の重量および大きさ、他の出荷に係る商品と同時に出荷可能か否か、各出荷に要する処理工程数などを考慮してもよい。つまり、配送コストは、各配送(各出荷)に要する労力または費用が大きいほど、大きくなれば任意のコストであってよい。また、出荷の方法について、各商品が最も早く注文者に届くように出
荷するのではなく、例えば、注文者の住所から遠くの倉庫であっても注文された複数の商品をまとめて出荷できるかを重視して出荷してもよい。
Note that the
ステップS2004において、評価部202は、ステップS2003にて出荷ごとに算出した配送コストの合計値(指標β)を算出する。
In step S2004, the
ステップS2005において、評価部202は、ステップS2001にて算出した「1種類の商品あたりの当該商品が配置される倉庫の平均値」(指標α)とステップS2004にて算出した「配送コストの合計値」(指標β)とに基づき、個体X1の評価値を算出する。例えば、評価部202は、指標αと指標βとの積で、所定値Thを除算した値=Th/αβを、評価値として算出する。または、例えば、評価値は、指標αと指標βとの和で、所定値Thを除算した値=Th/(α+β)であってもよい。なお、評価部202は、指標αが小さいほど高い評価値を算出し、指標βが小さいほど高い評価値を算出するのであれば、任意の方法で評価値を算出してよい。
In step S2005, the
なお、上記では、評価部202は、「1種類の商品あたりの当該商品が配置される倉庫の数の平均値」(指標α)と「配送コストの合計値」(指標β)との2つの指標に基づき個体X1の評価値を算出したが、他の指標を用いてもよい。例えば、評価部202は、指標α(管理コスト)として、各倉庫における商品の種類数の分散に基づき、個体X1の評価値を算出してもよい。また、例えば、評価部202は、商品を1種類も配置しない倉庫の数が多いほど、個体X1の評価値が高くなるように、当該評価値を算出してもよい。商品を1種類も配置しない倉庫が存在すれば、例えば、当該倉庫を他の用途に用いることや、倉庫自体を無くすことができるので、業者にとって財産の効率的な活用が可能となる。
Note that in the above, the
また、ステップS2005では、評価部202は、2つの指標α,βをそれぞれ評価値として用いて、各個体がパレート解分析における非劣解に該当するか否かという評価をしてもよい。非劣解とは、評価対象の個体よりも、指標αと指標βの両方が低い(つまり、全ての評価が優れた)他の個体がないことをいう。例えば、3つの個体について、個体X1では指標α=4、β=5であり、個体X2では指標α=3、β=7であり、個体X3では指標では指標α=5、β=6であるとする。この場合には、個体X1よりも指標α,βの両方が低い個体は存在しないため、個体X1は、非劣解であると評価できる。同様に、個体X2も非劣解であると評価できる。一方で、個体X1は、個体X3よりも指標α、βの両方が低いため、個体X3は非劣解でない(劣解である)と評価できる。なお、この場合であっても、指標の数は2つではなく、3以上であってもよい。また、このように、各個体について非劣解か否かを評価した場合には、例えば、ステップS1004において選択部211は、N個の個体の中から、劣解に該当する個体を削除して、非劣解に該当する個体だけを選択する。
Furthermore, in step S2005, the
(交叉処理部の処理;ステップS1005)
図8Aのフローチャートを参照して、ステップS1005において交叉処理部212が行う処理の詳細について説明する。
(Processing of the crossover processing unit; Step S1005)
Details of the process performed by the
ステップS3001において、交叉処理部212は、ステップS1004にて選択部211が選択した複数の個体から、2個の個体を選択する。このとき、交叉処理部212は、ランダムに2個の個体を選択してもよいし、評価値が高い個体ほど選択される確率を高くして、2個の個体を選択してもよい。
In step S3001, the
ステップS3002において、交叉処理部212は、属性格納部205に格納されているグループ情報に基づき、商品のグループごとにランダムに交叉点を決定する。このため、同じグループに属する商品には、同一の交叉点が決定される。なお、交叉処理部212
は、予め定められた確率に従って、商品のグループごとに交叉点を決定する場合と、P種類の商品の染色体それぞれの交叉点をランダムに決定する場合とを場合分けしてもよい。例えば、ステップS3002において、交叉処理部212は、商品のグループごとに交叉点を決定することを80%の確率で行い、P種類の商品の染色体それぞれの交叉点をランダムに決定することを20%の確率で行ってもよい。これによれば、同一のグループに属する複数の商品の染色体に対して常に同一の処理が行われるということがなくなるため、商品ごとに特有の性質も考慮した染色体が生成しやすくなる。
In step S3002, the
The method may be divided into cases in which the crossover points are determined for each group of products according to a predetermined probability, and cases in which the crossover points for each chromosome of P types of products are randomly determined. For example, in step S3002, the
ステップS3003において、交叉処理部212は、ステップS3001において選択した2個の個体を用いて、各商品の染色体に対して交叉の処理を行う。このとき、交叉処理部212は、各商品の染色体について、ステップS3002にて決定した交叉点を基準として、交叉の処理を行う。これにより、交叉処理部212は、1個の次世代の個体を生成する。つまり、同じグループに属する商品の染色体については、同一の交叉の処理が行われる。
In step S3003, the
例えば、交叉処理部212が、ステップS3001において1番目の個体として個体X2を選択して、2番目の個体として個体X1を選択して、次世代の個体Xaを生成する場合を想定する(図9参照)。この場合において、交叉処理部212は、ステップS3002において、商品B(1)と商品B(4)が属するグループG1に対して4列目と5列目との間の位置を交叉点として決定し、商品B(2)が属するグループG2に対して5列目と6列目との間の位置を交叉点として決定していると想定する。このとき、図9に示すように、商品B(1)については、交叉処理部212は、個体X2の商品B(1)の染色体の1~4列目の遺伝子と、個体X1の商品B(1)の染色体の5列目以降の遺伝子とを掛け合わせて、個体Xaの染色体を生成する。同様に、商品B(4)については、交叉処理部212は、個体X2の商品B(4)の染色体の1~4列目の遺伝子と、個体X1の商品B(4)の染色体の5列目以降の遺伝子とを掛け合わせて、個体Xaの染色体を生成する。一方で、商品B(2)については、交叉処理部212は、個体X2の商品B(2)の染色体の1~5列目の遺伝子と、個体X1の商品B(2)の染色体の6列目以降の遺伝子とを掛け合わせて、個体Xaの染色体を生成する。
For example, assume that the
ステップS3004において、交叉処理部212は、ステップS1001でのN個の個体の取得の際と同様の制約条件を、ステップS3003にて生成した個体が満たすか否かを判定する。制約条件が満たされていると判定された場合には、本フローチャートの処理が終了する。制約条件が満たされていないと判定された場合には、ステップS3002に戻る。なお、制約条件が満たされていないと判定された場合には、ステップS3001に戻ってもよい。なお、ステップS3004の処理は行われずに、ステップS3003にて交叉の処理が行われたら、本フローチャートの処理が終了してもよい。つまり、ステップS3003にて生成した個体が制約条件を満たさなくても、本フローチャートの処理が終了してもよい。
In step S3004, the
(突然変異処理部の処理;ステップS1006)
図8Bのフローチャートを参照して、ステップS1006において突然変異処理部213が行う処理の詳細について説明する。
(Processing of mutation processing unit; step S1006)
Details of the process performed by the mutation processing unit 213 in step S1006 will be described with reference to the flowchart in FIG. 8B.
ステップS4001において、突然変異処理部213は、予め設定された確率に基づき、交叉の処理により生成された1個の個体に対して突然変異の処理を行うか否かを判定する。例えば、突然変異処理部213は、99.5%の確率で突然変異の処理を行わないと判定し、0.5%の確率で突然変異の処理を行うと判定する。突然変異の処理を行うと判定された場合には、ステップS4002に進む。突然変異の処理を行わないと判定された場合には、本フローチャートの処理が終了する。本フローチャートの処理が終了する場合
には、突然変異処理部213は、交叉の処理により生成された個体を、次世代の個体として決定する。
In step S4001, the mutation processing unit 213 determines whether to perform mutation processing on one individual generated by crossover processing, based on a preset probability. For example, the mutation processing unit 213 determines that mutation processing will not be performed with a probability of 99.5%, and determines that mutation processing will be performed with a probability of 0.5%. If it is determined that mutation processing is to be performed, the process advances to step S4002. If it is determined that mutation processing is not to be performed, the processing of this flowchart ends. When the process of this flowchart ends, the mutation processing unit 213 determines the individual generated by the crossover process as the next generation individual.
ステップS4002において、突然変異処理部213は、属性格納部205に格納されているグループごとに、ランダムに突然変異の対象位置(遺伝子座)を決定する。このため、同じグループに属する商品には、同一の突然変異の対象位置(遺伝子座)が決定される。
In step S4002, the mutation processing unit 213 randomly determines mutation target positions (genetic loci) for each group stored in the
ステップS4003において、突然変異処理部213は、交叉の処理により生成された1個の個体を用いて、各商品の染色体に対して突然変異の処理を行う。このとき、突然変異処理部213は、各商品の染色体について、ステップS4002にて決定した対象位置に対して、突然変異の処理を行う。これにより、突然変異処理部213は、1個の次世代の個体を生成する。つまり、同じグループに属する商品の染色体については、同一の突然変異の処理が行われる。 In step S4003, the mutation processing unit 213 performs mutation processing on the chromosome of each product using one individual generated by the crossover processing. At this time, the mutation processing unit 213 performs mutation processing on the target position determined in step S4002 for the chromosome of each product. Thereby, the mutation processing unit 213 generates one next-generation individual. In other words, the chromosomes of products belonging to the same group are subjected to the same mutation process.
例えば、突然変異処理部213が、ステップS4001において個体X2を選択して、次世代の個体Xbを生成する場合を想定する(図10参照)。この場合において、突然変異処理部213は、ステップS4002において、商品B(1)と商品B(4)が属するグループG1に対して4列目の遺伝子座を突然変異の対象位置として決定し、商品B(2)が属するグループG2に対して6列目の遺伝子座を突然変異の対象位置として決定していると想定する。このとき、図10に示すように、商品B(1)については、突然変異処理部213は、個体X1の商品B(1)の4列目の遺伝子を反転させることにより、個体Xbの染色体を生成する。同様に、商品B(4)については、突然変異処理部213は、個体X1の商品B(4)の染色体の4列目の遺伝子を反転させることにより、個体Xbの染色体を生成する。一方で、商品B(2)については、突然変異処理部213は、個体X1の商品B(2)の染色体の6列目の遺伝子を反転させることにより、個体Xbの染色体を生成する。 For example, assume that the mutation processing unit 213 selects the individual X2 in step S4001 and generates the next generation individual Xb (see FIG. 10). In this case, in step S4002, the mutation processing unit 213 determines the genetic locus in the fourth column as the mutation target position for group G1 to which product B(1) and product B(4) belong, and Assume that the genetic locus in the 6th column for group G2 to which B(2) belongs has been determined as the mutation target position. At this time, as shown in FIG. 10, for product B(1), the mutation processing unit 213 inverts the gene in the fourth column of product B(1) of individual X1, thereby changing the chromosome of individual Xb. generate. Similarly, for product B(4), the mutation processing unit 213 generates the chromosome of individual Xb by inverting the gene in the fourth column of the chromosome of product B(4) of individual X1. On the other hand, for product B(2), the mutation processing unit 213 generates the chromosome of individual Xb by inverting the gene in the sixth column of the chromosome of product B(2) of individual X1.
ステップS4004において、突然変異処理部213は、ステップS1001でのN個の個体の取得の際と同様の制約条件を、ステップS4003にて生成した個体が満たすか否かを判定する。制約条件が満たされていると判定された場合には、本フローチャートの処理が終了する。制約条件が満たされていないと判定された場合には、ステップS4002に戻る。なお、ステップS4004の処理は行われずに、ステップS4003にて突然変異の処理が行われたら、本フローチャートの処理が終了してもよい。つまり、ステップS4003にて生成した個体が制約条件を満たさなくても、本フローチャートの処理が終了してもよい。 In step S4004, the mutation processing unit 213 determines whether the individuals generated in step S4003 satisfy the same constraint conditions as in the acquisition of N individuals in step S1001. If it is determined that the constraint conditions are satisfied, the processing of this flowchart ends. If it is determined that the constraint condition is not satisfied, the process returns to step S4002. Note that the process in this flowchart may end after the mutation process is performed in step S4003 without performing the process in step S4004. In other words, the process of this flowchart may end even if the individual generated in step S4003 does not satisfy the constraint conditions.
実施形態1によれば、互いに類似度の高い商品(項目)の染色体に対して、同一の交叉の処理および同一の突然変異の処理が行われる。このため、遺伝的アルゴリズム(進化計算アルゴリズム)を用いた処理が行われる個体(解)では、互いに類似する商品において染色体同士が同様のものになりやすい。つまり、互いに類似する商品は、同一の倉庫に配置される可能性が高くなる。 According to the first embodiment, the same crossover process and the same mutation process are performed on the chromosomes of products (items) that are highly similar to each other. Therefore, in individuals (solutions) that are processed using a genetic algorithm (evolutionary calculation algorithm), products that are similar to each other tend to have similar chromosomes. In other words, products that are similar to each other are more likely to be placed in the same warehouse.
これは、互いに類似する商品は、同時に注文される可能性が高いため、同一の倉庫に配置されることが好ましいという知見にも合致する。このため、複数の倉庫それぞれに商品を配置する場合において、遺伝的アルゴリズム(進化計算アルゴリズム)の評価値の収束性が高くなる。また、各グループに対して、1つの交叉点および1つの突然変異の対象位置を決定すればよいので、交叉点および突然変異の対象位置を決定する処理を簡易化することができる。このため、1つの在庫配置情報集合(条件情報集合;個体)が多くの要素(商品;項目)についての在庫配置情報(条件情報;染色体)を有する場合であっても、
効率的に最適化処理を行うことができる。
This is consistent with the finding that products that are similar to each other are likely to be ordered at the same time, so it is preferable to place them in the same warehouse. Therefore, when placing products in each of a plurality of warehouses, the convergence of the evaluation values of the genetic algorithm (evolutionary calculation algorithm) increases. Furthermore, since it is sufficient to determine one crossover point and one mutation target position for each group, the process of determining the crossover point and mutation target position can be simplified. Therefore, even if one inventory location information set (condition information set; individual) has inventory location information (condition information; chromosomes) for many elements (products; items),
Optimization processing can be performed efficiently.
なお、実施形態1では、情報処理装置1は、同じグループに属する商品の染色体に対して、同じ交叉の処理および同じ突然変異の処理を実行した。しかし、情報処理装置1は、同じグループに属する商品の染色体に対して、同じ処理を行うのは、同じ交叉の処理および同じ突然変異の処理のうちのいずれか一方のみであってもよい。
In the first embodiment, the
また、実施形態1では、各世代の個体の数を固定値(=N)としたが、世代ごとに個体の数は異なっていてもよい。例えば、世代が進むにつれてNの値が小さくなってもよいし、大きくなってもよい。 Further, in the first embodiment, the number of individuals in each generation is set to a fixed value (=N), but the number of individuals may be different for each generation. For example, the value of N may become smaller or larger as the generations progress.
(変形例1)
なお、最適化処理は、図6に示すフローチャートの処理に限らない。最適化処理は、図11に示すフローチャートの処理であってもよい。このとき、図11では、図6に示すステップS1004~S1006の処理の代わりに、ステップS5001~S5004の処理が行われる。以下では、ステップS5001~S5004の処理についてのみ説明する。なお、ステップS5001~S5004の処理は、次世代のN個の個体が生成し終わるまで、制御部204の制御により繰り返し実行される。
(Modification 1)
Note that the optimization process is not limited to the process shown in the flowchart shown in FIG. The optimization process may be the process shown in the flowchart shown in FIG. At this time, in FIG. 11, steps S5001 to S5004 are performed instead of steps S1004 to S1006 shown in FIG. Below, only the processing of steps S5001 to S5004 will be explained. Note that the processing in steps S5001 to S5004 is repeatedly executed under the control of the
ステップS5001では、制御部204は、分岐確率に基づき、ステップS5002~S5004のいずれかにステップを進めるように制御する。ここで、分岐確率は、ユーザにより予め設定されていてもよいし、個体の世代が進むにつれて変化していってもよい。分岐確率は、例えば、ステップS5002(選択の処理)に進む確率が50%であり、ステップS5003(交叉の処理)に進む確率が49.5%であり、ステップS5004(突然変異の処理)に進む確率が0.5%であると設定される。
In step S5001, the
ステップS5002において、選択部211は、現世代のN個の個体のうちの1個を次世代の個体として選択する。ここで、選択部211は、例えば、評価値が高い個体ほど、当該個体を次世代の個体として選択する確率を高くする。また、選択部211は、N個の個体のうち、未だ選択されていない中で評価値が最も高い個体を選択してもよい。
In step S5002, the
ステップS5003において、交叉処理部212は、現世代のN個の個体のうちの2個の個体を選択する。そして、交叉処理部212は、ステップS3002~S3004(図8A参照)と同様に、選択した2個の個体を用いて交叉の処理を行うことにより、1個の次世代の個体を生成する。
In step S5003, the
ステップS5004において、突然変異処理部213は、現世代のN個の個体のうち1個の個体をランダムに選択する。そして、突然変異処理部213は、ステップS4002~S4004(図8B参照)と同様に、選択した1個の個体を用いて突然変異の処理を行うことにより、1個の次世代の個体を生成する。 In step S5004, the mutation processing unit 213 randomly selects one individual from among the N individuals of the current generation. Then, similarly to steps S4002 to S4004 (see FIG. 8B), the mutation processing unit 213 generates one next-generation individual by performing mutation processing using the selected one individual. .
変形例1によれば、N個の現世代の個体のうちの優れた評価値を有するいくつかの個体は、次世代の個体としても用いられる。このため、現世代に評価値が優れた個体が存在する場合には、当該個体を次世代まで残すことができる。従って、特に優れた個体が最終的にN個の個体の中に残らないという可能性を低減させることができるので、最適化処理において、より良い個体を決定できる可能性が向上する。
According to
(その他の実施形態)
上記では、注文者からの注文に応じて、倉庫から商品を注文者に配送する業者に関して、P種類(P>2)の商品をQ箇所(Q>2)の倉庫に配置する場合の例について説明し
た。一方で、進化計算アルゴリズムを用いて最適化を行う例であって、各個体(条件情報集合)の複数の要素それぞれに染色体(条件情報)が設定されており、かつ、互いに類似する複数の要素の染色体が同様の染色体に最適化されると想定される任意の例に対して本発明は適用可能である。
(Other embodiments)
In the above example, regarding a company that delivers products from a warehouse to an orderer in response to an order from an orderer, products of P types (P>2) are placed in Q locations (Q>2) of warehouses. explained. On the other hand, this is an example of optimization using an evolutionary calculation algorithm, in which chromosomes (condition information) are set for each of multiple elements of each individual (condition information set), and multiple elements that are similar to each other The present invention is applicable to any example in which it is envisaged that the chromosomes of the chromosomes are optimized to similar chromosomes.
例えば、P種類の本をQ箇所の店舗(本屋)に配置する場合において、「1箇所の店舗あたりの本の種類の数」と「個体の染色体と過去実績に応じた全店舗での予測売り上げ」とに基づく評価値が高い個体を決定する例であってもよい。この場合には、個体は、本の種類ごとに、Q箇所の店舗に配置されるか否かを示す染色体を有する。本の属性は、例えば、ジャンル(小説、漫画、雑誌など)、作者名、発売日などである。 For example, when placing P types of books in Q stores (bookstores), the number of types of books per store and the predicted sales at all stores based on the individual's chromosomes and past performance are calculated. An example of determining an individual with a high evaluation value based on the following may be used. In this case, the individual has chromosomes that indicate whether each type of book is placed in Q stores. Book attributes include, for example, genre (novel, manga, magazine, etc.), author's name, release date, and the like.
また、例えば、P種類の映画をQ箇所の映画館において上映する場合において、「1箇所の映画館あたりの上映する映画の種類」と「個体の染色体と過去1週間の実績に応じた全映画館での予測売り上げ」とに基づく評価値が高い個体を決定する例であってもよい。この場合には、映画の属性は、例えば、ジャンル(アニメ、邦画、洋画など)、監督、スタジオなどである。 For example, when P types of movies are shown at Q movie theaters, "types of movies to be screened per movie theater" and "all movies according to the individual's chromosomes and performance in the past week" are determined. An example of determining an individual with a high evaluation value based on "predicted sales at a store" may also be used. In this case, the movie attributes include, for example, genre (anime, Japanese movie, foreign movie, etc.), director, studio, and the like.
以上に説明した本発明の各実施形態に記載された構成や処理は、互いに任意に組み合わせて利用できる。 The configurations and processes described in each embodiment of the present invention described above can be used in arbitrary combination with each other.
1:情報処理装置、201:取得部、202:評価部、
203:生成部、204:制御部、205:属性格納部、
211:選択部、212:交叉処理部、213:突然変異処理部
1: Information processing device, 201: Acquisition unit, 202: Evaluation unit,
203: generation unit, 204: control unit, 205: attribute storage unit,
211: Selection unit, 212: Crossover processing unit, 213: Mutation processing unit
Claims (9)
前記複数の要素のそれぞれの条件情報を含む条件情報集合を複数取得し、前記複数の条件情報集合をそれぞれ評価することと、交叉の処理および突然変異の処理を行って次世代の複数の条件情報集合を生成することとを繰り返して、前記複数の要素の条件を決定する決定手段を有し、
前記交叉の処理は、2つの条件情報集合における同一の要素同士の条件情報を交叉させる処理であり、
前記決定手段は、前記複数の要素のうち第1の要素と第2の要素とが類似度に応じた所定の関係を満たせば、前記交叉の処理を行う場合には、前記第1の要素の条件情報に前記交叉の処理を行う場合と前記第2の要素の条件情報に前記交叉の処理を行う場合とで同じ交叉点で、前記第1の要素の条件情報と前記第2の要素の条件情報それぞれに前記交叉の処理を行う、
ことを特徴とする情報処理装置。 An information processing device that determines conditions of multiple elements using an evolutionary calculation algorithm,
Acquire a plurality of condition information sets including condition information for each of the plurality of elements, evaluate each of the plurality of condition information sets, and perform crossover processing and mutation processing to obtain the next generation of the plurality of condition information. and determining means for determining conditions of the plurality of elements by repeatedly generating a set,
The crossover process is a process of crossing condition information of the same elements in two condition information sets,
If the first element and the second element among the plurality of elements satisfy a predetermined relationship according to the degree of similarity, when performing the crossover process, the determining means determines that the first element is When performing the crossover process on the condition information and when performing the crossover process on the condition information of the second element , the condition information of the first element and the condition of the second element are the same at the same intersection point. performing the crossover processing on each piece of information ;
An information processing device characterized by:
ことを特徴とする請求項1に記載の情報処理装置。 When performing the mutation process, the determining means determines whether the first element and the second element among the plurality of elements satisfy the predetermined relationship according to the degree of similarity. performing mutation on the condition information of the element and performing the same mutation on the condition information of the second element;
The information processing device according to claim 1, characterized in that:
前記第1の要素と前記第2の要素とが類似度に応じた前記所定の関係を満たす場合とは、前記第1の要素と前記第2の要素とが同一のグループに分類されている場合である、
ことを特徴とする請求項1または2に記載の情報処理装置。 further comprising a control means for classifying the plurality of elements into a plurality of groups according to the degree of similarity between the plurality of elements,
The case where the first element and the second element satisfy the predetermined relationship according to the degree of similarity is the case where the first element and the second element are classified into the same group. is,
The information processing device according to claim 1 or 2, characterized in that:
ことを特徴とする請求項3に記載の情報処理装置。 The control means determines the degree of similarity between the plurality of elements according to an attribute of each element.
The information processing device according to claim 3, characterized in that:
前記属性は、それぞれの商品に対応付けられた情報であって、カテゴリ、商品名、メーカー情報、スペック、価格、商品説明、販売開始日の少なくとも1つを含む情報である、ことを特徴とする請求項4に記載の情報処理装置。 The plurality of elements are mutually different types of products,
The attributes are information associated with each product, and include at least one of category, product name, manufacturer information, specifications, price, product description, and sales start date. The information processing device according to claim 4.
複数の商品それぞれの条件情報は、複数の保管場所それぞれでの当該商品の在庫の有無を示す、
ことを特徴とする請求項1または2に記載の情報処理装置。 The plurality of elements are mutually different types of products,
Condition information for each of multiple products indicates whether the product is in stock at each of multiple storage locations.
The information processing device according to claim 1 or 2, characterized in that:
前記評価値は、1種類の商品あたりの当該商品が保管されている保管場所の数と、過去の出荷実績データに基づく商品の配送コストとに基づく値である、
ことを特徴とする請求項6に記載の情報処理装置。 The determining means calculates an evaluation value for each of the plurality of condition information sets,
The evaluation value is a value based on the number of storage locations where each type of product is stored and the shipping cost of the product based on past shipping performance data.
7. The information processing apparatus according to claim 6.
前記複数の要素のそれぞれの条件情報を含む条件情報集合を複数取得し、前記複数の条件情報集合をそれぞれ評価することと、交叉の処理および突然変異の処理を行って次世代の複数の条件情報集合を生成することとを繰り返して、前記複数の要素の条件を決定する決定ステップを有し、
前記交叉の処理は、2つの条件情報集合における同一の要素同士の条件情報を交叉させる処理であり、
前記決定ステップでは、前記複数の要素のうち第1の要素と第2の要素とが類似度に応じた所定の関係を満たせば、前記交叉の処理を行う場合には、前記第1の要素の条件情報に前記交叉の処理を行う場合と前記第2の要素の条件情報に前記交叉の処理を行う場合とで同じ交叉点で、前記第1の要素の条件情報と前記第2の要素の条件情報それぞれに前記交叉の処理を行う、
ことを特徴とする情報処理方法。 An information processing method for determining conditions of multiple elements using an evolutionary calculation algorithm,
Acquire a plurality of condition information sets including condition information for each of the plurality of elements, evaluate each of the plurality of condition information sets, and perform crossover processing and mutation processing to obtain the next generation of the plurality of condition information. a determining step of repeatedly generating a set to determine conditions for the plurality of elements;
The crossover process is a process of crossing condition information of the same elements in two condition information sets,
In the determining step, if the first element and the second element among the plurality of elements satisfy a predetermined relationship according to the degree of similarity, when performing the crossover process, the first element is When performing the crossover process on the condition information and when performing the crossover process on the condition information of the second element , the condition information of the first element and the condition of the second element are the same at the same intersection point. performing the crossover processing on each piece of information ;
An information processing method characterized by:
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2022078124A JP7449975B2 (en) | 2022-05-11 | 2022-05-11 | Information processing device, information processing method, program |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2022078124A JP7449975B2 (en) | 2022-05-11 | 2022-05-11 | Information processing device, information processing method, program |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2023167161A JP2023167161A (en) | 2023-11-24 |
| JP7449975B2 true JP7449975B2 (en) | 2024-03-14 |
Family
ID=88838132
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2022078124A Active JP7449975B2 (en) | 2022-05-11 | 2022-05-11 | Information processing device, information processing method, program |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP7449975B2 (en) |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2001175639A (en) | 1999-12-16 | 2001-06-29 | Fujitsu Fip Corp | Schedule creation device and recording medium recording schedule creation program |
| JP2001249970A (en) | 2000-03-03 | 2001-09-14 | Fuji Electric Co Ltd | Stowage scheduling apparatus and method using genetic algorithm |
| JP2005084848A (en) | 2003-09-08 | 2005-03-31 | Fujitsu Ltd | Optimization program and delivery planning program |
| JP2007317069A (en) | 2006-05-29 | 2007-12-06 | National Maritime Research Institute | Ship allocation planning device, ship allocation planning method and program |
| US20130308570A1 (en) | 2012-05-17 | 2013-11-21 | Beijing University Of Posts And Telecommunications | Method for joint optimization of schedule and resource allocation based on the genetic algorithm |
-
2022
- 2022-05-11 JP JP2022078124A patent/JP7449975B2/en active Active
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2001175639A (en) | 1999-12-16 | 2001-06-29 | Fujitsu Fip Corp | Schedule creation device and recording medium recording schedule creation program |
| JP2001249970A (en) | 2000-03-03 | 2001-09-14 | Fuji Electric Co Ltd | Stowage scheduling apparatus and method using genetic algorithm |
| JP2005084848A (en) | 2003-09-08 | 2005-03-31 | Fujitsu Ltd | Optimization program and delivery planning program |
| JP2007317069A (en) | 2006-05-29 | 2007-12-06 | National Maritime Research Institute | Ship allocation planning device, ship allocation planning method and program |
| US20130308570A1 (en) | 2012-05-17 | 2013-11-21 | Beijing University Of Posts And Telecommunications | Method for joint optimization of schedule and resource allocation based on the genetic algorithm |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2023167161A (en) | 2023-11-24 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| Brynjolfsson et al. | Information technology, firm size, and industrial concentration | |
| Ehtesham Rasi et al. | A multi-objective optimization model for sustainable supply chain network with using genetic algorithm | |
| JP7205565B2 (en) | Planogram support device, planogram support system, planogram support method, and recording medium | |
| Rezaei et al. | A deterministic, multi-item inventory model with supplier selection and imperfect quality | |
| CN107153880B (en) | Allocation purchasing method, device and equipment | |
| US20120029965A1 (en) | Selecting a project portfolio | |
| KR102154411B1 (en) | A recommendation system for product purchase using collaborative filtering algorism and method thereof | |
| CN111080206A (en) | Method, device and equipment for generating replenishment list and storage medium | |
| Bafrooei et al. | A supplier selection problem in petrochemical industry using common weight data envelopment analysis with qualitative criteria | |
| JP2005174313A (en) | Method and apparatus for calculating economic value of patent or technology | |
| Heidary et al. | A simulation–optimization approach for a multi-period, multi-objective supply chain with demand uncertainty and an option contract | |
| JP7449975B2 (en) | Information processing device, information processing method, program | |
| Stockton et al. | Identifying economic order quantities using genetic algorithms | |
| Nakhaeinejad et al. | Improvement of multi-item order systems and inventory management models using optimal control theory | |
| Tsafarakis | Redesigning product lines in a period of economic crisis: a hybrid simulated annealing algorithm with crossover | |
| Mishra et al. | Addressing lot sizing and warehousing scheduling problem in manufacturing environment | |
| Lopatin et al. | Criteria for evaluating and selecting suppliers for maritime enterprises | |
| JP6806885B2 (en) | Logistics support system and logistics support method | |
| CN115796511A (en) | Goods transfer method and device | |
| Ghosh et al. | A new two‐bin policy for inventory systems with differentiated demand classes | |
| Sayyah Markabi et al. | A hybrid method of grey relational analysis and data envelopment analysis for evaluating and selecting efficient suppliers plus a novel ranking method for grey numbers | |
| JPWO2020179072A1 (en) | Trading programs, trading methods and trading equipment | |
| US20050108108A1 (en) | Company and college online book ordering system, also known as COBOS | |
| Kim et al. | Understanding Buyers' Behaviors in Vertical E-Commerce with Limited-edition Merchandise | |
| Adnan et al. | Application and analysis of retail inventory using data mining techniques |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20230411 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20231219 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20240208 |
|
| 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: 20240220 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20240304 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 7449975 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |