前回はソルバーの解答を整数で指定する方法を解説しました
今回は違う指定方法を解説します
プロジェクトなどで人をアサインする場合、前回のような”整数”で指定してシミュレーションを行うとどうなるでしょうか?
シミュレーションする内容はプロジェクトを組成する際に、目安にする予算金額に応じて参加メンバーを決める場合です
詳細な条件は以下です
・目安は4百万円
・人数は5人(2人は決定済み)
・候補者の単価はそれぞれ違う
前回の整数指定で行うとこんな結果になります
![](https://analytic-vba.com/wp/wp-content/uploads/2019/04/8-1.jpg)
鈴木さんが2人アサインされてしまっています
これではシミュレーションとして成り立ちません
では、具体的な解説に入りましょう
1.条件に応じて数式を設定する
・人数の指定:=SUM(F5:F14)
![](https://analytic-vba.com/wp/wp-content/uploads/2019/04/9-1.jpg)
・人件費の計算:=SUMPRODUCT(E5:E14,F5:F14)
![](https://analytic-vba.com/wp/wp-content/uploads/2019/04/10-2.jpg)
・差額の計算:=(G15-G16)^2
![](https://analytic-vba.com/wp/wp-content/uploads/2019/04/11-1.jpg)
2.ソルバーに目的セルと変数セルを設定する
![](https://analytic-vba.com/wp/wp-content/uploads/2019/04/12-1.jpg)
3.ソルバーに制約条件を設定する
まずは5人という条件を設定します
![](https://analytic-vba.com/wp/wp-content/uploads/2019/04/13-1.jpg)
では次にどうしたらいいでしょうか?
こんな時には整数ではなくバイナリで制約条件を指定します
つまり1(アサイン有)か0(アサイン無)で解答が出るようにします
![](https://analytic-vba.com/wp/wp-content/uploads/2019/04/14-1.jpg)
”bin”を指定すれば”バイナリ”が自動的にセットされます
では解答を計算しましょう
![](https://analytic-vba.com/wp/wp-content/uploads/2019/04/15-1.jpg)
これできっちりとした解答が出ました!
![](https://analytic-vba.com/wp/wp-content/uploads/2019/04/16-1.jpg)
最後に今回のポイントですが、以下の2点です
➀人件費のシミュレーションなどで有無(1か0)で解答が必要になるケースがある
②①のケースのように有無でシミュレーションの解答が必要な場合にはソルバーの制約条件をバイナリで指定する
今回は以上です
次回からはソルバーをマクロで自動で動かす方法を解説します
![にほんブログ村 資格ブログ ビジネススキルへ](http://qualification.blogmura.com/businessskill/img/businessskill88_31.gif)
![にほんブログ村 IT技術ブログ VBAへ](http://it.blogmura.com/vba/img/vba88_31.gif)