NEWS

LibreOffice Technology Advent Calendar 2024 5日目

ソルバーってなんだ?!

LibreOfficeで使ったことのない機能の方が多いですが、Calcのソルバーについて書きます。

ソルバーとは

複雑な条件で最適解を瞬時に計算してくれる便利機能(「エクセルドクター」サイトによる説明)だそうです。

実際にやってみて

「エクセルドクター」のサイトのとおりにやってみました。

LibreOfficeでは制限条件に$D$3*2のような数式を左(セル参照)右(値)どちらにもセットできないようです。

D4セルに=D3*2、D5セルに=D3*3として、変化させるセルをD3のみとすると解がでました。

ChatGPTによるサンプル課題

サンプル課題: 商品の生産計画

目標
利益が最大になるように、商品の生産数量を決定します。

条件

  1. 商品Aと商品Bを生産します。
  2. 商品Aの利益は1個あたり500円、商品Bの利益は1個あたり700円です。
  3. 商品Aと商品Bの生産には以下のリソース制約があります。
    ・商品Aは1個あたり2時間の作業時間が必要。
    ・商品Bは1個あたり3時間の作業時間が必要。
    ・作業時間の合計は、最大40時間までしか利用できません。
  4. 商品Aは最低5個生産する必要があります。
  5. 商品Bは最低3個生産する必要があります。

解きたい問題
「利益(500×商品Aの生産数 + 700×商品Bの生産数)」を最大化する生産数量を求めます。

準備完了


準備ができたらソルバーを実行します。

ターゲットセルをG4、結果の最適化を最大値。変化させるセルをE2:E3を選択します。

セル参照E2:E3、演算子「整数」、
セル参照E2、演算子「≧」、値D2
セル参照E3、演算子「≧」、値D3
セル参照F4、演算子「≦」、値F5

「解決」ボタンを押すと
制限条件の設定

問題が難しくなければすぐにこのダイアログが出て
結果

「結果を保存」すると
結果の反映
シートに反映されます。

chatGPTによる答えは、商品A 15.5個、商品B 3個、利益は9,850円だそうです。

便利なツールだが

econoshiftというサイトのソルバーの魚の例を試したら、3種の魚の注文に対し配達が1魚種になってしまった。

最後は自分でチェックしよう。

Comment on this article

コメントはまだありません。

Send comments

必須
必須  
※ メールアドレスは公開されません
任意
必須
Loading...  Please enter the letters of the image