Q.新職員のxxに拘束の翌日の拘束はダメというパターン禁止(xxの行制約7行目)と拘束回数(行制約31行目)をハード設定しているつもりなのですが、結果としてどちらも守られていないです。何か設定の間違いがあるか教えていただけると助かります。(5月9日10日が連続になっています。)
Ans.
当該スタッフの解が表示されていません。よって、制約が効かないのは、グループ定義廻りが問題である可能性が濃厚です。
Q.新職員のxxに拘束の翌日の拘束はダメというパターン禁止(xxの行制約7行目)と拘束回数(行制約31行目)をハード設定しているつもりなのですが、結果としてどちらも守られていないです。何か設定の間違いがあるか教えていただけると助かります。(5月9日10日が連続になっています。)
Ans.
当該スタッフの解が表示されていません。よって、制約が効かないのは、グループ定義廻りが問題である可能性が濃厚です。
Q.5/1は金曜日で、基本設定は午前3人、午後2人の設定なのですが、GW中ということもあり、午前も午後も3人に設定したいと思いました。
強制3人出勤日という列制約を作り、強制平日扱い日という曜日設定を割り当てました。
すると以下のようなエラーがでました。確かに金曜日の午後の制約内容が2つになるのでこのエラーは分かるのですが、このような場合に
どちらかを優先するような設定方法を教えていただけると幸いです。
●エラーがあります。ハード制約の問題かソフト制約の問題かを切り分けます。
Algorithm 1 Solving Process Started..
●ハード制約に問題があります。
Algorithm 1 Solving Process Started..
o 1 0.390000(sec)
Python プロパティファイルの生成が終わりました。
o 1 0.699000(sec)
●次の組み合わせが充足していません。
● 列制約グループ1.強制3人出勤日午後3人 2026-05-01
● 列制約グループ1.木金の午後は2人 2026-05-01
来年度,新ソルバの投入を予定していますが、重み設定は、1~10までを推奨します。これを超えても、問題になることはないと思います。が、記述スタイルとして、下記のような書き方をされている場合は、改めるようにしてください。
Q.職員一名の入れ替わりがあり、今回新職員を入れて回してみましたが、解が出ませんでした。まだ、予定入力もしていないので、解が無いということはないかと思うのですが、どこか設定が誤っていないか教えていただけると幸いです。データ添付します。
Ans.申し訳ございません。Python記述のバグが原因と推察します。勤務日数が記述されていないときの問題を修正しました。
<原因>
下記は、当該記述ルーチンです。スタッフプロパティシートでの勤務日数の値(浮動小数)を読み込んで2倍にしたあと整数化しています。このとき、スタッフプロパティシートでの記載がないと、max値が-2になってしまいます。これがソルバでの違反となり不正動作で落ちていました。
スタッフプロパティシートでの記述がなくても、動作するように記述を追加しました。
ご迷惑をおかけしまして、大変申し訳ございません。
Q.ラベル設定法の枝刈りにDUAL下界を用いている論文は?
ラベル設定法(Label Setting Algorithm)の枝刈りにDual(双対)下界を用いる手法は、特に列生成法(Column Generation)を用いた車両配送問題(VRP)や乗務員スケジューリング問題などの求解において一般的です。 この手法を採用している代表的な論文および研究は以下の通りです。
列生成法の価格付け問題(子問題)として「制約付き最短路問題(ESPPRC)」を解く際、ラベル設定法が使われます。このとき、マスター問題の双対変数を利用して「現在のラベルから終点までの最小コスト」の下界を見積もり、暫定解より悪くなることが確実なラベルを切り捨てる(枝刈り)手法が取られます。
特定の論文を探している場合、"Decreasing the search space of the label setting algorithm using dual bounds" や "Dual-based pruning in ESPPRC" といったキーワードで、Google Scholar等にて検索すると、対象の論文(特に分枝価格カット法:Branch-and-Price-and-Cutに関連するもの)が見つかる可能性が高いです。 具体的にどの問題設定(例:VRP、飛行機の乗務員運用など)での論文をお探しですか?
[1] https://www.researchgate.net [2] https://proceedings.mlr.press [3] https://arxiv.org [4] https://www.foresight.jp [5] https://www.netattest.com [6] https://dspace.mit.edu [7] https://arxiv.org
Q.ラベル設定法が最新の研究でも使われているということですね。では、ラベル設定法で、ネックになっているのは、どのような問題でしょうか?
ラベル設定法が現代でも研究され続けているのは、それが依然として最強の解法であると同時に、解決すべき「計算量の爆発」という大きな壁があるからです。 特にネックとなっているのは、主に以下の3点です。
ラベル設定法では、あるノードに到達した際に「コストは高いが時間は短い」「コストは低いが時間は長い」といった、互いに優劣をつけられない非支配ラベルをすべて保持する必要があります。
前述のESPPRCにおいて、「同じ場所を二度通らない(巡回禁止)」という条件を厳密に守ろうとすると、計算負荷が跳ね上がります。
列生成法の中でラベル設定法を使う場合、マスター問題から渡される「双対変数」が反復ごとに激しく変動します。
これらのネックを解消するために、以下のような工夫が研究されています。
Q.アカデミックベンチマークサイトはありますか?ラベル設定法が用いられているものの分野ならば何でもOK.
ラベル設定法(Label Setting Algorithm)やその応用であるESPPRC、車両配送問題(VRP)の分野で世界的に利用されている主要なアカデミックベンチマークサイトを紹介します。 研究論文で性能比較を行う際、以下のサイトにあるデータセットを用いるのが「標準」となっています。
VRPやその派生問題に関する世界最大級のリポジトリです。
ラベル設定法をESPPRC(サブ問題)として解く「時間枠付き車両配送問題(VRPTW)」において、最も歴史があり、かつ現在も使われ続けているデータセットです。 [4]
オペレーションズ・リサーチ(OR)全般のテスト問題を網羅した老舗のサイトです。 [5]
アルゴリズムの実装と性能を競う「チャレンジ」のアーカイブです。
CVRP(Capacitated VRP)に特化したベンチマークサイトです。 [9]
これらのサイトからデータをダウンロードし、ご自身のアルゴリズムで「計算時間」や「解の精度(BKSとの乖離)」を測定するのが、アカデミックな評価の一般的な手順です。 まずはSolomonのインスタンスか、最新のVRP-REPからご自身の研究テーマに近いものを探してみるのがおすすめです。特定の制約(例:電気自動車、マルチデポなど)に特化したデータをお探しですか?
[1] https://www.vrp-rep.org [2] https://www.researchgate.net [3] https://www.bvl.de [4] https://ieeexplore.ieee.org [5] https://www.brunel.ac.uk [6] https://www.researchgate.net [7] https://www.researchgate.net [8] https://arxiv.org [9] https://www.sciencedirect.com [10] https://www.researchgate.net
厳密解(Optimal Solution)と未解決問題(Best Known Solution)が混在し、アルゴリズムの性能を測るのに「程よくバランスが良い」サイトといえば、CVRPLIB が筆頭に挙げられます。 特にこのサイト内の 「Uchoa et al. (2017) Instances (X instances)」 というデータセットが、現在の研究におけるデファクトスタンダードです。
まずは CVRPLIB の「Instances」ページにある Set X を覗いてみてください。
この分野(ラベル設定法、ESPPRC、および車両配送問題の厳密解法)には、数十年にわたり理論と実装の両面をリードしてきた「権威」と呼ばれる研究者が数名います。 彼らの論文を辿れば、この分野の主要な技術(双対下界による枝刈り、ng-path、双対安定化など)の変遷をほぼ網羅できます。
カナダのモントリオール理工科大学教授。この分野の「バイブル」とも言える書籍 『Column Generation』 の編者の一人です。 [2]
フランスのサン=テティエンヌ国立高等鉱業学校教授。
ドイツのマインツ大学教授。
ボローニャ大学(イタリア)の教授陣。
ブラジルのリオデジャネイロ・カトリック大学教授。前述の CVRPLIB の運営者でもあります。
紹介した権威者たちの論文や最新の研究で、マスター問題(線形計画問題:LP)を解くために用いられている主なLPソルバは以下の通りです。 ラベル設定法自体は動的計画法に基づく独自のアルゴリズムですが、その実行に必要な「双対変数」を計算するために、以下の商用・非商用ソルバがプラットフォームとして利用されています。
最先端の研究(特に大規模なベンチマークで世界記録を狙うもの)では、計算速度と数値的安定性の観点から商用ソルバがほぼ独占的に使われています。
研究の公開性やライセンスの制約がある場合に使用されます。
権威者たちは、上記のLPソルバを裸で使うのではなく、VRPに特化した自作のフレームワークに組み込んで使用しています。
[実装へのアドバイス] もしご自身で実装を検討されているのであれば、アカデミックライセンス(無料)が利用可能な Gurobi または CPLEX を選択するのが最も無難です。この分野の論文に記載されている計算時間と比較する際、ソルバの性能差を考慮しなくて済むためです。 [3] 特定の開発言語(C++, Python, Juliaなど)で使えるソルバの具体的な導入方法について興味はありますか? [参考ソース]
Dominate比較本数 ラベル設定法において、1つのノードで保持されるラベル数(ドミナンス比較の対象となる本数)は、問題の規模や制約の厳しさによって劇的に変わりますが、「一般的」なオーダーとしては以下のようになります。
比較本数は以下の条件で指数関数的に増加します。
権威者たちの論文(Irnich, Desaulniersなど)では、数千〜数万本の比較を効率化するために以下の手法が「一般的」に組み込まれています。
結論として、厳密解法を目指すなら 1ノードあたり数千本 まではメモリ上に保持し、高速に比較できる実装(ソート済リストや多次元インデックスなど)を準備しておくのが標準的な設計スタンスです。 現在想定されている問題の「ノード数」や「資源の数(時間・容量など)」はどの程度でしょうか?
おっしゃる通り、Max-Min制約(特に「最低でもこれだけ消費しなければならない」という下限制約)は、ラベル設定法にとって最悪の相性の一つです。 通常、資源が「消費(加算)」されるだけなら、資源を多く消費したラベルが「支配される(捨てられる)」可能性が高まります。しかし、下限制約(例:最低作業時間、最低走行距離)があると、「今は資源を多く消費しているけれど、そのおかげで将来的に下限制約をクリアできる(かもしれない)」というラベルが捨てられなくなるため、非支配ラベルが爆発します。 この問題に対して、最新の研究や権威者たちは主に以下の3つのアプローチで対応しています。
もし資源消費がある一定のポイントでリセットされたり、特定の範囲に収まる必要がある場合、ラベルに持たせる資源の値を「余裕(Slack)」や「不足分」に変換して管理します。これにより、ドミナンス(支配関係)が成立しやすい形に正規化します。
質問の最初に出てきたDual下界がここで威力を発揮します。
数万本のラベルをまともに比較するのは不可能なので、資源消費空間をグリッド(バケット)に分割します。
Q.小中規模でも厳密解が得られていない例
結論から言うと、ノード数が50〜100程度の「小中規模」に見える問題でも、特定の条件下では未だに厳密解が得られていない、あるいは解くのに膨大な時間を要する難問が厳然として存在します。 単なる「地点間の距離」だけでなく、以下の要素が組み合わさると、ラベル設定法は途端に機能不全に陥ります。
意外かもしれませんが、制約が緩い(時間枠が広い、積載容量が大きい)ほど難易度は上がります。
積載量に応じて燃料消費率が変わる、あるいは「回生ブレーキ」のように資源が途中で増減する場合です。
「車両Aと車両Bが特定の場所で同時に落ち合わなければならない」といった、車両間の依存関係がある問題です。
前述の CVRPLIB (Set X) などでは、ノード数100以下のものはほぼ解かれていますが、それは「標準的な制約」の場合です。 しかし、「Solomon's instances」 のような古典的なデータセットでも、時間枠を極端に広げたり、車両台数を制限したりする変種(Variants)に書き換えると、世界中の研究者が挑んでも解けない「Open Instance」に変貌します。
有難く、延長評価ライセンスを取得しました。
具体的には、再度トライアルライセンス6カ月を取得することが出来ました。(PaperでCOPTに言及する予定です)。有難うございました。
これで後、半年、研究できるのが喜びです。
Instance24を解くために、この半年、技術開発を行ってきました。正確には、
■既存技術で立ち向かったものの、どうやっても解けない→今年1月になってから新たな技術開発
を行なってきました。核になる要素技術は、未だ研究開発中ですが、かなり今までと異なっています。高度な背景技術のさらに上を行く新たな最適化技術なので、難解でありAIと相談・整理しながら理論的な詰めを行っています。この技術は、NSPだけではなく、もう少し広い分野で利用可能な技術です。
今後は、この新技術について、
■NSPの核として日本否世界中のシフト勤務者がこの技術の恩恵を受けられるようにすること
■RCSPの新解法としてIPを広く世界に提供すること
を主眼として活動していきたいと思い始めました。
このため、一旦開発計画は白紙として、もう少し固まってから、ロードマップは明らかにしたいと思います。
半年のトライアル期間に解くことは、出来ませんでした。この間、ほぼこの問題を解くことだけに集中してきたのですが、力及びませんでした。ただし、この研究期間に発見した二つの新しい方法を使えば、可能性は出てきました。そこで、COPTにライセンスの延長をお願いし,挑戦を継続することにしました。
Dear COPT Support Team,
Thank you very much for your continued assistance and for providing access to the COPT Optimizer.
Over the past six months, I have been using your solver to tackle the final remaining open instance (instance24) in the following benchmark:
https://www.schedulingbenchmarks.org/changes.html
However, the research has taken significantly longer than originally expected, and I now require additional time to complete the work.
Therefore, I would like to kindly request a six‑month extension of my evaluation license.
Once the instance is successfully solved, I plan to publish a research paper that will properly cite and acknowledge the use of the COPT Optimizer.
COPTからは、subscriptionを勧められましたが、それは考えていないことを伝えました。
Dear COPT Support Team,
Thank you very much for your continued support and for your kind offer to discuss subscription options.
At this time, I am not considering a subscription license. For my practical, real‑world instances, solvers such as CLP, HiGHS, and CuPDLPx are fully sufficient. In fact, except for the very last remaining open instance, I have been able to solve all unresolved academic benchmark problems using these solvers.
However, the final instance is exceptionally large, and based on my experience, it is extremely difficult to handle within a reasonable time frame without the performance of your solver. This is why I have been relying on COPT specifically for this last challenge.
Thank you again for your understanding and for taking the time to consider my situation.