TECH Street の技術ブログ

【技術Tips】Pythonの数理最適化ライブラリ PuLPとOR-Toolsを比較してみた(搬送最適化編)

初めに 環境 問題設定 搬送最適化を考える 各問題の設定 定式化 実装 結果 計算時間の平均比較 各問題の各回数ごとの計算時間比較 最後に Appendix(定式化) 記事執筆者 初めに 前回の記事 にて、pythonの無料数理最適化ライブラリである、OR-ToolsとPuLPの性能比較を行ってみました。 前回は変数/制約式ともに数が小さい小規模な比較でした。そこで、 今回は変数/制約式が多く

【技術Tips】搬送最適化の論文解説と0-1(ゼロイチ)整数計画への置き換えについて

搬送最適化とは 概要 実例 論文の内容 概要 数式の詳細 定式化 まとめ 記事執筆者 搬送最適化とは 概要 搬送最適化の前に、物流最適化について解説する。物流最適化とは、物流業務全体におけるコスト削減、効率向上、労働環境改善などを目的とした取り組みである。 物流最適化には、以下のような具体的な方法がある。 トラックの最適な配送ルートの計画 データ活用

【技術Tips】手書きRBSの運用事例のその後

はじめに こんにちは。株式会社タイミーでバックエンドエンジニアをしている廣江です。以前、TECH Streetさん主催の「 Ruby勉強会~各社の取り組みや課題から学ぶ会~ 」というイベントでRBSを手書きで利用しているという話をさせていただきましたが、今回はその後についてのお話を書かせていただこうと思います。 ここでの「手書きRBS」とは言葉の通り、手書きされたR

【技術Tips】私がRuby on Railsを選んだ理由と学習の参考になるOSSアプリケーション

はじめに こんにちは、オシロ株式会社でリードエンジニアとして働いているにっく( webuilder240 )と申します。オシロでは自社プロダクトとしてコミュニティ専用オウンドプラットフォーム「OSIRO」を提供していますが、私は2015年の開発開始から一人目エンジニアとして携わり、技術選定の意思決定を行ってきました。 今回は、そのなかでもRuby on Railsを選択した理由、

【技術Tips】elmo, root learning, descent 3種類の強化学習手法の有効性 を○×ゲームを用いて比較してみた

はじめに 強化学習とは強化学習は、AIが処理した結果に対して「報酬(スコア)」を与え、報酬が最大になる処理方法を学習させる手法です。 引用元:強化学習とは?機械学習との違いなどの用語解説や活用事例などをご紹介 強化学習のゲームでの成功例としてDeepMindによって開発されたAlphaZeroがあげられます。AlphaZeroは人間の事前知識を必要とせず、自分自身と対局す

【技術Tips】Googleの新MMMツール「Meridian」のドキュメントを読んで新機能について掘り下げる(その1)

前書き デジタルテクノロジー統括部アナリストの安藤です。 最近マーケティングに関するプロジェクトに携わることになり、Marketing Mix Modeling(以下MMM)の門を叩くことになりました。 MMMでは、広告メディアがどれだけKPIに貢献したのかを回帰モデルによって推定し、それを元に予算の最適化を行います。 変数の値をそのまま使うのではなく、全体的なトレンドや季節性、

【技術Tips】Prompt Flow(Azure AI Studio)を使用したRAG入門 第2回

導入 本記事について 注意事項 実装 全体の流れ 前提条件 On Your Dataからサンプルアプリをデプロイ (参考)サンプルアプリのカスタマイズについて Prompt Flowからフローを推論エンドポイントとしてデプロイ/サンプルアプリの設定変更 Azure AI Studioの評価機能を使用したプロンプトチューニング 回答精度向上に向けた指針について 最後に 導入 本記事について 「Prompt Flow(A

【技術Tips】Prompt Flow(Azure AI Studio)を使用したRAG入門 第1回

  導入 本記事について 皆様は、Prompt Flowをご存知でしょうか。Prompt Flowとは、Microsoftが提供するLLM開発のためのOSSのツールです。Azure Machine LearningやAzure AI Studio上でも提供されており、それらをバックエンドとして動作させることができます。加えて、VS Code(Visual Studio Code)の拡張機能も提供されています。一方で、公式ドキュメント以外の情報が少なく、実際に活用する

【技術Tips】Assistants APIを用いたCode Interpreterの現状と課題について、Streamlitを使用して検証してみた

はじめに OpenAI の Assistants API をそのまま使用することで、自前で LangChain のエージェントなどを使用して同様の処理を実装する手間を省け、非常に便利です。ただ、現状( 2024/05/18 )ではまだ β 版ということもあり、 API のインタフェースの改変も多く見られます。 Assitants APIを用いたcode-interpreterのUIをstreamlitで実装 においても、実装例が紹介されていますが、そのままで

【技術Tips】Pythonの数理最適化ライブラリ「PuLP」と「OR-Tools」を比較してみた(数独編)

今回のテーマ Pythonには無料の数理最適化ライブラリがあります。有名どころでは「OR-Tools」と「PuLP」が二大巨頭ではないでしょうか。 個人的にはOR-Tools推しですが、私の周囲ではPuLPを使用する人も多く、どちらが良いのか知りたくなりました。そこで、今回は「OR-Tools」と「PuLP」に数独を解かせて、その処理速度を比較して、どちらのライブラリがよいか検証してみます

【技術Tips】MySQL(InnoDB)でバルクインサート時にデッドロックが発生した場合に検討するべきこと

今回のテーマ データベースの開発や運用において、サービスが成長していくのは嬉しいですが、同時にシステムがその成長に対応できるように常に改善していかなければなりません。特に、「本来起こってはいけないデッドロックが発生した場合の対処方法」を共有しておくことは、問題が起きた時に役立つと思います。 そこで、今回は「 MySQL(InnoDB)でバルクインサート