従兄のジョーは化学工場の研究員である。彼は価値のある衛生商品を作り出す上で不可欠の材料であるSuperzapという物資の分析を任されている。SuperzapはZapとRegant Bから以下の反応によって合成される。
ZapとRegant Bよりずっと高価である。この反応定数Kは小さくK=0.01である。したがって、ジョーの最初のSuperzap生産の結果はあまりよくなかった。彼はこの問題をZapの濃度を上げることによって克服しようとしてが、彼は問題を悪い方向へ持っていくだけだという忠告に耳を貸そうとしない。
/* 7.1.13m */ ae : a0 - x$ be : b0 - x$ ce : c0 + x$ de : d0 + x$ sol : solve(k = (ce*de)/(ae*be), x)$
求めた解を使って、Bの濃度を一定にして、Aの濃度を上げていった時、Aの変換率がどう変わるか見てみましょう。
/* 7.1.14m */ b0 : 1$ c0 : 0$ d0 : 0$ k : 0.01$ print("[A]0 [B]0 [Fraction converted]"); for a0 : 25 step 25 thru 100 do ( print(a0, " ", b0, " ", ev(x/a0, sol[1])) );
Aの濃度を一定にして、Bの濃度を上げていった時、Aの変換率がどう変わるか見てみましょう。
/* 7.1.15m */ a0 : 1$ c0 : 0$ d0 : 0$ k : 0.01$ print("[Zap]0 [B]0 [Fraction converted]")$ for b0 : 25 step 25 thru 100 do ( print(a0, " ", b0, " ", ev(x/a0, sol[1])) )$
ジョーには、Regant Bの濃度を上げることで生産効率が上げられることを伝えましょう。
これは、化学というより、計算のパズルですね。一見、AとBは対称な問題に見えますが、さて手品の種はどこにあるかわかりますか?
参考文献
- Crandall, Mathematica―理工系ツールとしての (アジソン ウェスレイ・トッパン情報科学シリーズ) p.190-p.194