読者です 読者をやめる 読者になる 読者になる

ローグウェーブソフトウェアのブログ

開発をシンプルに 安全で高品質のコードを 素早くお客様のもとへ

JMSL 7.1の新機能

この文章はIMSLのプロダクトマネージャー Wendy Hou がKloctalkに書いた文章 What’s new in JMSL 7.1 の抄訳です 。

blog.klocwork.com

Kloctalk はローグウェーブソフトウェアが運営するブログで、専門的にミッションクリティカルなソフトウェアを開発し、日々様々な問題に取り組んでいる開発者のための情報を発信しています。

What’s new in JMSL 7.1

Java数値計算ライブラリ7.1 が リリースされました。これによりみなさまに複雑な線形問題をプログラミングする上でよりすぐれた高速な方法を提供できることを嬉しく感じます。

私たちの新しい疎行列用線形計画法(Sparse Linear Programming)のソルバーは疎行列のフォーマットでデータを受け取り、非ゼロ要素のみが保存されます。実行されたソルバーはこれらの非ゼロ要素のみを扱うため、メモリ消費量が非常に少なく、はるかに高速に実行されます。私たちが行ったいくつかのテストケースでは、こうしたアルゴリズムにより従来数時間かかっていた計算が数秒で完了しました。

人気のある動画のストリーミングサービスを展開することを例にとってみましょう。人気順や利用地域などを考慮しつつ、ユーザーに対しコンテンツをできるだけ早く提供したいとお考えになると思います。全てのユーザが全ての動画を評価するというわけではないため、必要なデータ量は比較的少量になります。限られたリソースのもとで地理的に分散したサーバにどのように動画を分配するか、その最適化戦略を考えなければなりません。どのようなアルゴリズムデータ形式を使えばカリフォルニアのユーザがアジアからストリーミングされるメディアを待つような事態を防げるでしょうか?

ここで登場するのが疎行列です。ご存知のように、非常に膨大な数の変数と制約行列(constraint matrix)を扱う大規模な線形計画法はこの例のように疎であることが多いのです。もしこのデータを典型的な密行列用線形計画法(Dense Linear Programming)のソルバーに対して適用した場合、膨大なデータスラッシングが発生し結果が出るまでにずっと待機していなければならなくなるでしょう。むしろ結果がすぐに得られなければユーザーはいらいらして離脱してしまうはずです。

メモリ使用量を少なくすることで、あなたのアプリケーションはより効率的に短時間で物事を処理するようになるため、よりサイズが大きく重要な問題に取り組むことができるようになります。もし最適化問題に携わるのであれば、あなた自身が作業を最適化するのが合理的でしょう。まさに今回新しくリリースされたJMSL 7.1があなたの目的にぴったりです。

Wendy Hou

お問い合わせ

過去記事もご覧ください。 blog.roguewave.jp

JMSL数値計算ライブラリ は、100% Java の環境で利用できる数学、統計、金融、データマイニングおよびチャートのクラスが一つに集約された包括的な数値解析ライブラリです。業界最高レベルのIMSLライブラリの信頼性の高い数値計算・統計解析用のアルゴリズムにチャート機能を統合した、Javaプログラマ向けの唯一のソリューションです。Java環境での高度な数値解析と可視化機能を組み合わせは、企業の皆様が組織内の価値ある情報を素早く理解し解析結果を即座に共有することを可能にします。

お問い合せはこちら

roguewave.jp

by YK