2012-04-07から1日間の記事一覧

スクリプト

シンプレックス法を行ったlp.assign関数とlpSolveパッケージ。 lp.assign function (cost.mat, direction = "min", presolve = 0, compute.sens = 0) { if (!is.matrix(cost.mat)) stop("Matrix of costs required.") if (is.data.frame(cost.mat)) cost.mat …

並列化

前に並列化を試みたときはうまく出来なかったが、今回うまく並列計算できるようにプログラムが書けた。 コツとしては、とにかく1回のシミュレーションでやることを function(){ ~ … } に収めてしまうことだろう。例えば、既に読み込んでいるからといって a <…

誰と同じグループになるか

誰と一緒になるか非常に気にしていた人がいるので(オレもだが)、シミュレーション結果から考える。 10万回の結果から、どのコースに割り当てられるかが求められるので、その結果からクラスタリングした。 ふたりを選んだ時、全く一緒のグループにならない…

シミュレーション

1回シンプレックス法を行うと、全体としての最大値を返してくるが、最大値を取る割当の仕方はひとつではない。 これを10万回繰り返し、割り当てられたコースを記録した。 コースが決まると、自動的に小グループが決まることになるので、これも記録した。 シ…

データの集計

データの集計法は前に書いた通り。 110人の学生のうち、12人は優先的に選べ、コースを確定させた。残りの98人からデータを取った。 こんな感じの行列データが得られた。余裕があったら公開したい。 図はコースの希望の多さである。x軸にコース番号、y軸に希…

シンプレックス法を用いたコース割当シミュレーション

シンプレックス法を用いて、学生に対して実習コースを割り振る、ということをした。 今回、実際にアンケートをして、学生から希望を集めたので、それを使っていろいろやってみる。 データの集計 シミュレーション 誰と同じグループになるか A希望の数はA希望…

A希望の数はA希望のなりやすさに影響するか

A希望は5つ以上記入する約束で、6つやそれ以上書いている人がいた(実は不備で4つの人もいたが)。それによってA希望になりやすくなったのか、なりにくくなったのか考える。 A希望の数が4つ、5つ、6つ以上で分けて、多群検定を行った。 Pairwise comparisons…