GAMS とオンライン・ストレージ・サービス

最近はDropbox、OneDrive、Google Driveのような、ネットにファイルを保存するクラウドサービスを利用する人が多いと思います。私もこの3つを用途によって分けて利用しています。

研究用には主にDropboxを利用していて、GAMSのプログラムなどもDropboxで同期するフォルダに置いています。こうしておけば、大学の研究室でも教室でも自宅でも外でもネットさえつながっていれば同じファイルにアクセスできますから非常に便利です。

ただ、Dropbox内のファイルにGAMSを実行するとたまに問題が起きます。具体的には、Dropbox内のプログラムにGAMSを実行すると途中でエラーが生じ、止ってしまうことがよくあります。特にMPSGEで記述したモデルを実行するときにエラーが出ることが多いような気がします。Dropbox内のフォルダにあるファイルは通常、アップデートされるたびにクラウドと同期されます。GAMSを実行するといろんな一時ファイルが生成されますが、Dropboxがそういう一時ファイルを同期しようとして問題が生じているのではないかと思いますが、はっきりした原因はわかりません。常にエラー出るというわけでもないですし。

解決策として、GAMSを利用する際にはDropboxの同期を一時的に停止するという方法をとっています。これでGAMSの実行時にエラーが生じるという問題は解決できるのですが、同期の停止を解除するのをよく忘れてしまって困ります。実際、大学でおこなっていた作業の続きを自宅に帰ってしようと思ったら、大学のDropboxの同期の停止を解除し忘れていて、クラウドと同期できていなくて、自宅でファイルを利用できなかったということを何度も経験しています(逆に自宅の同期の停止を解除し忘れたケースもよくあります)。

クラウドサービスをオンにしている環境でGAMSを使うときに問題が生じることは他にもあるようです。以下のGAMSのメーリングリストのメールでもクラウドサービス上のファイルに対してGAMSが上手く動かないことがあると指摘されています。

https://www.listserv.dfn.de/sympa/arc/gams-l/2024-01/msg00005.html

まあ、仮にGAMSが上手く動くとしても、GAMSを利用する際に常に同期をオンにしておくことはあまり望ましくないかもしれません。というのは、上で書いたように、GAMSを実行するとたくさんの一時ファイルが生成されるのですが、同期をオンにしていると、そういう一時ファイルまで全て同期しようとして、ネットの通信量が増えてしまうからです。一時ファイルはGAMSの実行が終了すれば削除されるもので、同期する意味はありませんから、そういうファイルの同期は単に無駄な通信量です。