Microsoft Excelソルバーによる酸解離定数および濃度の決定

吉村 季織, 岡崎 正規, 中川 直哉


Return

1 緒言

パーソナルコンピュータ上で用いられている表計算ソフトウェアの中でも、Microsoft Excel(以下Excel)は現在最も広く利用されている。Excelには通常の表計算ソフトとしての機能以外にも、統計ツールやデータベース機能など様々な機能が付加されている。ソルバーもそのひとつであり、専門的な知識を持たなくても最適化を行うことが可能となる。
多くの化学者がExcelを用いて検量線の作成や、データ整理、統計処理などに利用している。またExcel使用者の数からすれば非常に少ないが、ソルバーを用いた化学への応用として、金属錯体の生成定数の算出[1]や、質量スペクトルのピークフィッティング[2]などで優れた結果が報告されている。本研究では、滴定曲線からクエン酸の解離定数の決定にソルバーを利用することを試みた。この問題を解くための方法の一つとして、非線形最小二乗法を利用した方法[3]が提案されているが、多価酸は1価酸の混合と近似されている。Excelソルバーを用いれば、そのような仮定をする必要はない。本報告の目的は、解離定数の決定を例とし、Excelソルバーの化学問題解決への有用性を示すことである。

2 滴定曲線の理論式

代表的な3価酸のクエン酸を例として、3価の酸の滴定について考察する。実験的には、強塩基溶液の滴定体積VBexpとそれに対応するpHがデータとして得られる。3価の酸を濃度CBの強塩基で滴定したとき、被滴定溶液をあるpHにするために必要とされる滴定体積の理論値VBcalは、

と表される[4]。ここでK1K2K3は逐次解離定数、CAVAはそれぞれ酸水溶液の初期濃度と体積である。それぞれのVBexpにpHが対応しており、その各pHと任意の解離定数および濃度を用いてVBcalを式(1)から計算できる。実験値に理論値をフィッティングさせるには、差の二乗和、 が最小になるようなK1K2K3CAを求めなくてはならない。これは非線形最小二乗問題であり、非負の制限が付く。ソルバーでは、差の二乗和を目的関数とし、K1K2K3CAを変数とした非負制限付きの最小化を行えばよい。

3 滴定

5.12×10-3Mのクエン酸水溶液100mlを1.35×10-1Mの水酸化ナトリウム水溶液で滴定した。滴定体積は1滴あたり0.10mlとし、pH10.03まで行い116組の実験値を得た。

4 計算

ソルバーはExcelの“ツール”メニューの中の“ソルバー”を選択すれば起動する(ただしインストール方法によっては追加設定をする必要がある)。そして、ワークシート上に準備しておいた目的関数、変数、制約条件(今回はない)を所定の場所に入力して実行すればよい。すなわち、Excelを使う基本的な知識があればよく、作業としては線形や非線形最適化の区別をする必要がないことが重要な特徴の一つである。本研究では、Excel 2000を用いた。
計算では、クエン酸の解離定数と濃度を未知数とし、各解離定数(変数)の初期値を1、濃度(変数)の初期値を0として計算を行った。Figure 1にソルバーのパラメータとオプションの設定を示した。


Figure 1. Parameters(left) and option(right) for the calculation by Solver.

“パラメータ設定”の“目的セル”には、二乗和の計算結果を示すセルのアドレスを指定した(このセルは変数の変化が反映されるように、式を入力しておく)。最小二乗法であるから、二乗和が最小になるようにしなくてはならないので、“目標値”として“最小値”を選択した。“変化させるセル”への入力は解離定数を示すセルのアドレス、濃度を示すセルのアドレスの順に記入した。“オプション設定”では、変数K1K2K3CAが非負に制限されるので、“非負数を仮定する”をチェックした(非負制限のみは、パラメータ設定の制約条件よりもこちらの方が便利である)。今回の計算においては、これら以外のパラメータ、オプションは一切追加、変更等を行わなかった(とくに“精度”の設定は重要と思われるが、筆者の経験では変更する必要はなかった)。ちなみに、今回用いなかったが“制約条件”は頻繁に必要になる。たとえば、K1K2の和が10を越えない、つまりK1 + K2 <=10、といった条件を付加する際には制約条件に追加設定しなくてはならない。

5 結果と考察

 フィッティングの結果をFigure 2に示す。視覚的にも明らかなように、良いフィッティングが得られた。平均二乗誤差は7.33×10-4M2であった。K1K2K3はそれぞれ、1.44×10-3、5.15×10-5、2.29×10-6Mと見積もられ(文献値[5]ではそれぞれ1.26×10-3、4.57×10-5、2.19×10-6M)、濃度は5.14×10-3Mと実際の濃度(5.12×10-3M)に近い値を示した。得られた解離定数も、文献によって値が離れていることを考慮すれば、十分に信頼できる値である。また、Figure 2のような変化に乏しい滴定曲線を解析することは容易ではないが、ソルバーでは容易に、それも解離定数と濃度を同時に求めている。今回結果は示さないが、1価酸の酢酸や、2価酸のフマル酸でも良い結果が得られた。理論的に作成した滴定曲線を用いた場合、濃度未知では5価酸を扱うことができなかったが、濃度既知では5価酸でも良い結果を得ることができた。


Figure 2. Experimantal and calculated titration data of citric acid solution with NaOH solution.

計算速度は、実用性を決定する重要な要素である。特に、今回程度の問題を解くために数時間を要するようでは、実用的とは言えない。ソルバーはExcelの上で動いているので、その計算速度は専用に開発されたソフトウェアには及ばないのは当然である。しかしPentium 90MHz搭載のパソコンでさえ8.60秒程度と、十分に実用に耐えうる計算速度であった。PentiumIII 650MHz搭載パソコンに至っては、1.11秒と格段に短縮された。現在使われているほとんどの機種では、2秒以下の時間で計算を完了できると予測される。現時点ではCPUの最大クロックは1.5GHz程度にまでなってきており、さらに最近CPU製造会社間での競争が激しく、2002年には3GHzに達すると言われている[6 - 8]。したがって、今後より多くの変数を持つ問題や複雑な問題であっても、ソルバーによってストレスを感じることなく解くことができるようになるであろう。また、Excelのソルバーを用いる利点の一つは、普段使い慣れているExcelの上で使うということである。新しいソフトウェアの使用法を覚えることや、プログラムの労力を考えると、計算時間が長いことはそれほど欠点にはならないと言ってよいだろう。
このように良いことが多いように見えるソルバーであるが、誰でも使いやすい分、基本的な過ちを犯しやすい可能性もある。たとえば、今回のクエン酸の例でも適当な初期値を選んでやらないと、まともな回答が得られなかった。さらに、“変化させるセル”への記入順序が適当でない場合も不当な回答がでた。これらの解を採択しないための判断基準を設けておくことが必要である。今回の計算では、グラフ化して視覚的に判断する方法を用いた。ソルバーの扱いは簡単であるが、十分な注意を払って利用しなくてはならない。
このことをよく意識した上で使用すれば、ソルバーは非常に強力な道具である。また、Excelの持つ自由度を受け継いでいるので、Excel上で表現可能な問題であれば、どんな問題でも対応可能である。つまり、それだけの可能性を秘めているといって良い。ゆえに、固定観念を与えることを避けるために、必要最低限のことを記述したつもりである。本報告を読み、興味を持たれたならば、ぜひお手元のExcelで実行してみることをお勧めする。

最適化及び、ソルバーの使用についての助言を頂き、東京農工大学大学院生物システム応用科学研究科、秋澤 淳助教授に感謝の意を表明する。

参考文献

[ 1] N. Maleki, B. Haghighi and A. Safavi, Microchem. J., 62, 229 (1999).
[ 2] R. C. Eanes and R. K. Marcus, Spectrochem. Acta Part B, 55B, 403 (2000).
[ 3] F. Ingman, A. Johansson, S. Johansson and R. Karlsson, Anlytica Chimica Acta, 64, 113 (1973).
[ 4] J. J. Kankare, Talanta, 22, 1005 (1975).
[ 5] 化学会編, 化学便覧 基礎編II, 改訂4版, 丸善 (1993), p.318.
[ 6] 後藤宏茂, 月刊アスキー, 24, No.273, 202 (2000).
[ 7] 後藤宏茂, 月刊アスキー, 24, No.274, 206 (2000).
[ 8] 後藤宏茂, 月刊アスキー, 24, No.275, 194 (2000).


Return