オープンソースプロジェクトを救うためにAI企業を立ち上げた結果とは?
引用元:https://news.ycombinator.com/item?id=42999454
Geoffrey, ストーリーをシェアしてくれてありがとう。ORは奇妙なニッチだよね。効果的なアルゴリズムは昔からあるのに、企業の95%がオペレーションを最適化してないというのは本当だと思う。
自分もAPIビジネスモデルでVRP最適化を売ろうとしたことあるけど、ほとんどの企業がツールへの統合ができる専門知識を持ってないって気づいた。急ぐ必要もないし、単に顧客に非効率を押し付けるだけさ。最適化ツールを取得したら、簡単に使えるのが重要だと思うよ。
その会社に興味あるな。最近見た地元の最適化の例では、ゴミ収集トラックの件があった。高額な会社が最適化を依頼したのに、実際の世界の要因を無視して問題が起きた。人々は何年も非効率なことをしているけど、外部の専門家が知っているとは限らない。
この話はソフトウェアエンジニアの自尊心を慰めるためのものに思える。現実の問題には難しさや人間の問題があって、そんな話が真実として受け入れられるのはイライラする。
この点には真実がある。人間のプランナーを関与させなければ、プロジェクトは成功しない。私たちはPlanningAIを使って彼らを支援し、何が必要かに集中できるようにしている。技術があっても、人間のプロセスに合わないといけない。
残念ながら、10年前の話だから会社の名前は忘れちゃったけど、そういう話には信頼できる人が関連していた。しかし、業界の状態からすると納得できる話だよ。最終配達サービスは本当に無駄が多かった。
その参照が欲しいな。ただ、実際にこの手のことはよくあること。あるカンファレンスで、注入成形ラインを増設することを考えていた会社が、コンサルタントを雇ってプログラムを最適化した。結局、管理が雑だったようで多数の意見が無視されていた。
多くの企業はスケールの問題があると思ってた。Maerskは1%の改善が数億ドルになるから専任チームもいるけど、我が社では1%の改善でコストも賄えないのが現実だ。
10%の生産性向上はどんな企業にとっても大きい。ただ、それを達成するためのコストやリスクも大きいので、ORプロジェクトは失敗しがち。私たちの技術で簡単にプロジェクトを実行できるようにしてる。
学士論文でORをやったことがあるけど、その効果には驚いた。ビジネスはそれが機能しないと思ってたのに、うまくいった。最近はこの分野から遠ざかってるけど、多くのビジネスパーソンが大学で学んでるのにあんまり進まないのは本当に不思議だ。
ストーリー共有ありがとう、Yorak。ツールに統合最適化するのって、特に低レベルのソルバーAPIを使ってると難しいよね。うちでは、高レベルのREST API(Timefold Field Service Routingなど)でそれを簡単にしようとしてるし、教育も行ってるよ(Timefold Academy)。リアルタイム計画や労働法に関するビデオや記事を作ってるよ。動画はこちら
https://www.youtube.com/@timefold/videos
Symbolic math equationsは低レベルソルバーAPIじゃなくて、高レベルインターフェースだよ。低レベルインターフェースは最適化問題を生の行列で提供することを求めるから。君が言ってるのは問題の還元ってことだね。
従業員ごとのloadBalance(sum(shift.duration))関数を入力するのは、二次数学方程式を入力するよりも高レベルの抽象化だと思うんだ。Java/C++/Python対Assemblyのようにね。二次方程式をスケールできないソルバーも多いから、ユーザーはビジネス制約を緩和しちゃって、プロジェクトが失敗することが多いんだよ。
スウェーデンの最適化専門家チームの逸話が好きだな!彼らの運輸会社は成功したのかな?追記: Vascoが質問するのが早かったね、ハハ。
センサー企業がそれをやってるのを最近よく見るよ。彼らのセンサーは統計的アルゴリズムを使ってて、”AI”なんだ!本当にAIじゃないと言うのは難しいよ。少なくともオープンソースプロジェクトがAIブームの恩恵を受けているのは嬉しいな。
Timefoldは試してみたことないけど、数年前にMRPスケジュールを最適化しようとしたときに色々なソルバーを試したよ。ビジネスロジックを制約に変えるのが一番難しかった。明示的な制約の代わりに、最小化できる計算を提供する方法はないかな。オーダーごとに締切があったら、+/- 3日=0、7日早い=9999(許可されてない)、7日以上遅れてる場合は(遅れた日数)^2って言える?詳しく話したいならメールして。
ちょっと関係あるけど、時間枠付きの車両ルーティング用のソルバーをたくさん調べたよ。驚いたのは、SaaSベースの距離行列計算が非常に高額だってこと。Googleは1要素あたり0.01ドルも取るんだ。距離行列って通常どうやって手に入れるの?結局、ソルバーを使う代わりにMapbox Optimization APIを使ったよ。
精度と便利さの話だよね。直線距離や地球上の距離から始められるよ。一つ上のステップは、オープンストリートマップを使ったオフラインのオープンソースルーターさ。でも、最新の閉鎖や交通データを持った正確な運転距離を望むなら、大手ベンダーしか選択肢がないよ。
OSRMをチェックしてみて。Timefold Field Service RoutingのREST APIでは、OSRMをデフォルトで使った地図サービスを提供してるけど、他の地図提供者にも対応しているよ。旅行時間と距離行列を計算できる。これに、キャッシングや増分リクエストなどの最適化を加えて、リクエスト地図情報を使うソルバーモデルをサポートしている。
いくつかの方法でこれを解決してきた。最も早いのは、低い粒度でハッシュマップを事前計算して、バッチサイクルで定期的に更新するやり方。GraphhopperとOSRM + OpenStreetMapデータはこの辺りの利用に役立って、100km × 100kmの範囲で比較的密なポリゴンを16 CPU時間でマッピングできるくらいだ。
GraphHopper Matrix APIの価格設定は大型行列向けに魅力的だと思う。料金はクレジットベースで、大行列のセルごとに課金されず、代わりに”locations×10”で計算される。例えば、200×200の行列では2000クレジットで済み、40,000クレジットはかからない。毎日25回この計算をするなら、プレミアムパッケージで1000要素あたり$0.016になる。大型パッケージはボリュームディスカウントもあるよ。ちなみに、私は創業者の一人だ。
ピースワイズ線形コスト関数と補助変数が必要だね。経験豊富な実務者なら、混合整数線形プログラミングや制約プログラミングで助けてくれるはず。 Timefold solverを使う場合、制約ストリームを使うから、もっと分かりやすいアプローチができるよ。例えば、最小値に達しないとペナルティ、最大値を超えるとペナルティを与える(2つの制約)って感じ。 Timefoldの前にOptaplannerを使ってたけど、ハード制約(例えば、一部屋に一つの会議だけ)やソフト制約(距離が短いほど良い)などがあったな。で、最適化問題はそのハード・ソフト制約のセットで説明できる。 はい!最近は、資源が足りない時に使うための中間制約もよく使われてるよ(ハード・ミディアム・ソフト制約)、未割り当ての作業をペナルティするために。それはソフト制約よりは難しいけど、ハード制約ほどは厳しくない。 この分野での努力に感謝!ちゃんとしたオープンソースソリューションがあるのは本当に大事だと思う。OptaPlannerとTimeFoldを数ヶ月前に見つけたのは、妻の獣医クリニックのスタッフスケジューリングの問題を探してたから。でもこの問題は誰もお金を払わないほど大きくなくて、手動でシフトを組む人たちにストレスをもたらすほどなんだ。多くのオンラインSaaSプロバイダーが問題を解決すると主張してるけど、実際にはリアルな職場のすべての制約に対して設定できるわけじゃない。残念ながら、TimeFoldにも少し同じことを感じてる。制約を設計するのは、多くの問題に対する考え方を変える必要があると思う。エンジンは何でもできるけど、習得するのに急な学習曲線がある。記事で文書化に言及されているけど、実際の利用ケースや解決法についてもっと情報があれば、市場が広がると思う。文書改善にどう貢献できるか考え中。 Tappio、ちゃんと聞いてるよ。皆が自分の計画問題を解決しやすくするために、積極的に取り組んでいるんだ。目標は”無駄な重複スケジューリングから世界を解放する”っていうことだし、これを一人でやれるとは思ってない。;) 一日がかりの大きなイベントを開催して、参加者が何度も声の録音をしてもらったんだ。その日は350人以上の個別録音があって、それぞれに演技コーチやスタジオエンジニアがついて、カスタマイズされたスクリプトを使ったり、参加者同士の組み合わせでスケジュールを調整してたから、かなり大変だったんだ。 2024年には手動でシフト計画をしている病院がたくさんあって、みんな大変みたい。プロジェクト自体は置いといて、素晴らしい妻だね! 面白い話だけど、よく分からない点があった。>“創業者は個人的な経済的ストレスを避けるために給与をもらうかもしれない”創業者が給与をもらわないでどうやって生活するの? それが普通なの?>“でも、基本的には自分自身にリスクを持たないといけない”これも疑問だ。貯金を投資するってこと? >貯金を投資するってこと?成功する創業者はほとんどが裕福なんだ。裕福じゃない人は、プロセスの中で自己破産する確率がかなり高い。 起業すると、基本的には貯金で生活することになる。会社が投資家から給与を支払ってもらえるようになるまで、もしくは会社が利益を上げるまで、貯金が尽きないことが重要なんだ。 投資家で、創業者に給与を支払わない人っているの?PoCを作るのに自分の時間とお金を使うのは理解できるけど、VCのお金で起業するのに自分の給料をもらわないって、考えられないな。 株式は報酬だけど、流動性のないリスクの高い報酬なんだ。給与が欲しいなら、株式と交換することになる。それに、会社を信じているなら、短期的な必要やリスク削減のために株式を手放さない方がいい。 多くのVCは、創業者が必要なら給与には同意するだろう。だけど、マーケットレートよりは低いかも。資産を持っている創業者なら、通常は両方とも株式を選ぶよ。伝統的なシード投資家は最低賃金以上は同意しないかもしれないけど、ケースバイケースだね。 これは悪夢みたいで、自己破産の危険があると思う。せいぜい数百万の貯金がある仕事についていた場合を除いて、ほとんどの人には無理だよ。 確かにだけど、それがうまくいけばすごく裕福になれる可能性もあるんだよね。結局は自分の性格や状況によるから、誰にでも向いているわけじゃない。 確かに、でも場合によってはめっちゃ裕福になる手段でもあるよね。まぁ、ほんの少数のケースだけど。裕福になることが多くの起業家の一番のモチベーションじゃないと思うけど、理解はできるよ。俺の金、俺のルールって感じで、やる気を見せろって隠れてるよね。 うん、同意。でもVCから資金調達したスタートアップが出口戦略を持つケースは意外と多いんだよね。『90%失敗する』って統計は大抵、伝統的なエンジェル投資や無投資の人たちのものだから。結局、両面があるってことだよ。 いや、これはそのレバレッジに関する話だけで、むしろ圧力を増すための完璧な手段だと思うよ。既に働いてる人たちが10倍以上の労力とストレスを抱えるリスクを取っているのに、創業者がそれだけのことをするために市場より低い給料を受け入れなきゃいけないのはおかしいと思うんだ。 ほぼ全ての投資がこんな感じだと思う。貧乏ではないけど、UKでは優れたフルタイムのプログラマーの標準年収が10万ポンドだから、共同創業者なら5万ポンド(利益出してない状態)って感じだね。生活はできるけど、市場価格には達していないよ。 詳細に感謝するよ。この状況はひどいね。契約者として50kを得るには約3.5ヶ月働かなきゃいけないのに、こんなに少ない収入とストレスを抱えるのはおかしいよ。どうしてそんなに複雑でストレスの多い役割を受け入れる創業者がいるんだろう? 素晴らしい話で、素晴らしい選択だね。この話から若い人たちへの教訓は、自分の時間を1時間単位で売るか、他の人の時間を買って有効に使うかってことだね。前者は有限だけど、後者はスケールするからね。 Hawkeye 360が彼らのユーザーの一つになってるのが見れて面白い。Hawkeyeは地球観測会社で、地上のRFスペクトルの使用状況を監視するための衛星を作っているから、より良いタスク管理が役立つのはわかるよね。 感動する話だね!大学の時のビジネスの授業は生産オペレーションマネジメントが好きだったんだ。データエンジニアリングをやってから、クリティカルパス分析が有向非循環グラフを最適化するのに役立つことに気づいたよ。お金のために最長のタスクを最適化するのは意味ないから、時間を重視するなら他にもっと良いタスクがあるんだ。 ここで使われているアルゴリズムや概念の名前は何なの?大学の時にシミュレーテッドアニーリングを使ってタイムテーブルのプロトタイプを作ったんだけど、この会社はAIモデルを使っているのが気になる。 これは制約付きソルバーだね。AIとは何かの議論は時期によって異なるし、最新ではどの規制が適用されるのかでも変わるよね。AIのバックグラウンドがあるけど、金融の決定を自動化するために書いたルールベースのシステムをAIと呼ぶのはためらったな。この件について、Geoffreyも過去には自分のシステムをAIと呼ぶのはためらっていたみたいだけど、資金を集めるためには流れに乗ることも必要だよね。 病院のベッド割り当てのプロジェクトにTimefoldを使ってプロトタイプを作ったことがあるよ。“AIだけど、全てのポリシーとルールに従うからハルシネーションしない”っていう表現が非技術系の人たちやオペレーターにトンでくるのにうまく使えた。 うちはシミュレーテッドアニーリングやタブーサーチもサポートしてるよ。Timefold Solverはデフォルトでレイトアクセプタンスを使っていて、シミュレーテッドアニーリングのように振る舞うけど、パラメータ調整が煩雑ではないからね。基本のアルゴリズムは結果を出すための5%未満だから、その上にたくさんのことを追加しているんだ。 おいGeoffrey、これがあなたのプロジェクトだったんだね!2012年にシミュレーテッドアニーリングを使ってDrools Plannerを選ぶ手助けをしてもらったんだ。本当に良くなったね! 20年前くらいにそういうプロジェクトをやったことがあるよ。生徒のスケジュールを使って共通の空き時間を最適化するチームを作るシステムを計画してた。シミュレーテッドアニーリングから始めて、最終的には遺伝的アルゴリズムに行き着いたよ。 頑張って、ge0ffrey!難しいニッチ市場で、手動で計画を立てるエクセルユーザーと競っているんだよね。エンドユーザーには売り込めないし、マネージャーにこのスプレッドシートから強制的に離れさせる必要がある。でも今のAI製品はみんなそんな感じかもね。 あのね…共同創業者と一緒にスキルベースのタスクルーティングをしているUKのスタートアップを作っているんだ。遠隔地の仕事をするワーカーのために仕事の割り当てを最適化することが必要で、Timefold.aiで相談できる人とちょっと話ができたらいいなと思ってる。 制約ソルバーの研究は、その問題を解決するためにやってるんだよね。CSPはブールSATやSMTよりも扱いやすいけど、要はたくさんの制約と、ある種の解がどれだけ良いかを与えて、お任せしてしばらく走らせる感じ。 すごい記事だね。オープンソースとスタートアップの経験をうまくまとめてる。数学的な難題に惹かれるタイプなのかな?それと、良い製品があっても、チームや収益がなければ足りないって実感したよ。次のプロジェクトではオープンソースのコーディングと開発を利益化しようとしてるんだ。興味があれば参加してくれると嬉しい。新しいコードを書く人が学べる場所にしたいし、パートタイムの収入源にもしたいんだ。 この問題ドメインへの貢献に感謝!過去にOptaPlannerを使ったけど、今後はTimefoldを使う予定だよ。この手の制約ソルバーは問題領域に入ると無くてはならないツールだし、学ぶ価値は十分にある。 これ、チェックしなきゃ。昔、200席のコールセンターをスケジューリングしてたけど、歴史データや未来予測を使ってめっちゃ複雑なスプレッドシートを作ったりして、自動化したんだ。月に1回のスケジュールから、四半期ごとのスケジュールに移行できたよ。 素晴らしいプロジェクトだね!オープンソースだから、マーケティングに余裕のある会社がTimefoldをクラウドで提供するリスクってない?それとも、クラウドプラットフォームに十分なバリアがあるのかな? 私たちの目標は計画最適化を簡単にすること。でも、計画最適化はすごく複雑で、簡単にするのに時間がかかったよ。Timefold Solverは、OptaPlannerより使いやすいし、REST APIはさらに簡単。特定のユースケースに対してデータを送り込むだけで解を得られるからね。 プロジェクトのジョブスケジューリング例は最悪だった。削除して、もっとクリーンなFood Packagingに置き換えたんだ。あの例は特定の問題にフィットしすぎて、現実世界のジョブショップスケジューリングには合わなかった。痛かったね、教えてくれてありがとう。 記事を全部読んだらGeoffreyという名前を見つけた。OR/Constraintsソルバーの代名詞だと思う。前にこの領域の問題に直面した時、OptaPlannerを使ったんだ。APIは最も直感的だったし、サポートも最高だった。OptaPlannerが終わったのは残念だけど、最終的には何かもっと良いものに繋がったみたい。もっとコメントを表示(1)
もっとコメントを表示(2)