やってみる

アウトプットすべく己を導くためのブログ。その試行錯誤すらたれ流す。

Calc ソルバー

 連立方程式を解く。

成果物

情報源

連立方程式とは?

 2つ以上の値を求めるために使う。

What-If 分析ともいう

 What-If分析とは、何かを決定するとき、あり得る場合の中でどれが一番いいかを考える手法である。

例題

手順

 お題。123456円を支払うとき枚数が最小になるときの各紙幣・硬貨の枚数を求めよ。

 答えは以下。

金種 枚数
10000 12
5000 0
1000 3
500 0
100 4
50 1
10 0
5 1
1 1

1. データを入力する

金額,123456,最小支払枚数,
,,枚数,金額
金種,10000,,=C6*D6
,5000,,=C7*D7
,1000,,=C8*D8
,500,,=C9*D9
,100,,=C10*D10
,50,,=C11*D11
,10,,=C12*D12
,5,,=C13*D13
,1,,=C14*D14
合計,,=SUM(D6:D14),=SUM(E6:E14)
  1. 上記テキストをコピーする
  2. セルA1にフォーカスする
  3. Ctrl+Vキーを押下してペーストする
  4. 区切りのオプションコンマにチェックを入れる
  5. OKボタンをクリックする

2. ソルバー

  1. メニュー→ツールソルバー
  2. ターゲットセル$D$15を入力する
  3. 結果の最適化最小値にする
  4. 変更させるセル$D$6:$D$14を入力する
  5. 制限条件を以下のようにする
    1. 1行目
      1. セル参照$C$4を入力する
      2. 演算子=にする
      3. $E$15を入力する
    2. 2行目
      1. セル参照$D$6:$D$14を入力する
      2. 演算子整数にする
  6. オプションボタンをクリックする
    1. ソルバーエンジンLibreOffice Liner Solverにする
    2. 設定の以下にチェックする
      1. 分岐と深さの境界を制限
      2. 変数を整数と想定
      3. 変数を負の値でないと想定
  7. 解決ボタンをクリックする
  8. 解決できました。結果: 22と出る
  9. 結果を保存ボタンをクリックする

0 1 2 3

  • ソルバーエンジン
    • DEPS Evolutionary Algorithm
    • SCO Evolutionary Algorithm
    • LibreOffice CoinMP Liner Solver
    • LibreOffice Liner Solver
    • LibreOffice 群知能非線形ソルバー(試験的機能)

4

 何が違うの?

所感

 使いこなせる気がしない。

対象環境

$ uname -a
Linux raspberrypi 5.4.51-v7l+ #1333 SMP Mon Aug 10 16:51:40 BST 2020 armv7l GNU/Linux