Rで基本的なトラベルセールスマン問題(TSP)を作成していますが、私が使用するのに役立つリソースは見つかりませんでしたoptim()
にインポートされたデータ。またはおそらくoptim()
は私が探しているものではありません。私は私の例を共有し、あなたが正しい方向に私を指し示すか、特定の問題を助けることができると願っています。Rで数学最適化(TSP)を行う方法、おそらくはoptim()で
最短ルートを探すための一連の場所があります。各場所は、経路上で一度だけ訪れる必要があります。ルートはOriginで開始および終了する必要があります。位置1にLOCATION2へ
LOCATION2に位置1、原点から>>>バック原点または原点から
>>>バック起源
に私は次のようにインポートした:可能な解決策がありますRへのデータ:目的関数は合計Oを最小限に抑えることである
:
distances <- read.csv("distances_test.csv")
ORIGIN-----DESTINATION-----DISTANCE
Origin-----Location2-------4.161917178
Origin-----Location1-------31.16857564
Location1--Location2-------30.75861336
Location1--Origin----------31.16857564
Location2--Location1-------30.75861336
Location2--Origin----------4.161917178
は今、私はそれをRに伝える方法を決定しようとしていますfは距離をx倍したもので、xは特定の経路が選択されたことを示す代入変数(x = 0または1)です。
制約がある:
(1)xは(xはバイナリであることを示すために)またはOPTIMとショートカットが(存在する場合)、xは整数であり、0と1の間です。 (2)すべての起点インデックスに対するxの合計= 1(トラックが各場所を一度離している) (3)すべての目的地指数に対するxの合計= 1(トラックトラックが各地に一度到着する) 原点指数は、(5)、最終的な送信先インデックスは、Origin optim(par, objective)
で
で、私は最初のパラメータは次のようになりか、私は(すなわちmin sum(i=1..n)sum(j=1...n) distance(i,j) * x(i,j)
)
あなたは[TSPパッケージ](https://cran.r-project.org/web/packages/TSP/index.html)を見ましたか? –
この目的のために特にRパッケージがあります。 CRANの[TSPパッケージ](https://cran.r-project.org/web/packages/TSP/TSP.pdf)を参照してください。 – G5W