"複数の太陽電池モジュールの結線パターンを演算することによって太陽光発電を最適化する演算装置であって、ぞれぞれの前記太陽電池モジュールから、少なくとも電流値を含むパラメータを取得するパラメータ取得部と、前記パラメータ取得部で取得された前記パラメータに基づいて、前記太陽電池モジュールをクラス分けするクラス分け部と、前記クラス分け部によるクラス分けに基づいて、前記結線パターンを選択する結線パターン選択部と、を備えることを特徴とする太陽光発電を最適化する演算装置。前記クラス分け部は、前記パラメータが近い前記太陽電池モジュール同士を同じクラスに分けることを特徴とする請求項1記載の太陽光発電を最適化する演算装置。前記太陽電池モジュールを直列接続してストリングを形成するストリング形成部を更に備え、前記クラス分け部は、前記太陽電池モジュールを、少なくとも、第1のクラスと、前記第1のクラスよりパラメータが小さい第2のクラスに分け、前記ストリング形成部は、前記クラスごとに前記ストリングを形成可能であり、前記結線パターン選択部は、前記ストリング形成部によって形成された前記ストリングに基づいて、前記結線パターンを選択することを特徴とする請求項2記載の太陽光発電を最適化する演算装置。前記結線パターン選択部は、前記太陽電池モジュールの結線によって構成されるアレイの最大出力が最大となるように、前記結線パターンを選択することを特徴とする請求項1~3の何れか一項記載の太陽光発電を最適化する演算装置。前記ストリング形成部は、前記第1のクラスに属する前記太陽電池モジュールのみを直列接続させた第1のストリングと、前記第2のクラスに属する前記太陽電池モジュールのみを直列接続させた第2のストリングと、前記第1のクラスに属する前記太陽電池モジュール、及び前記第2のクラスに属する前記太陽電池モジュールを接続させた第3のストリングと、を形成可能であり、前記第3のストリングは、前記第1のクラスに属する前記太陽電池モジュールの前記パラメータに基づいて、前記第2のクラスに属する複数の前記太陽電池モジュール同士を接続することによって形成される擬似モジュールと、前記第1のクラスに属する前記太陽電池モジュールと、を直列接続することによって形成されることを特徴とする請求項3記載の太陽光発電を最適化する演算装置。前記ストリング形成部は、少なくとも前記第1のストリングに対して設定された直列数に基づいて、前記第1のクラスに属する前記太陽電池モジュールを直列接続し、前記第3のストリングは、前記直列数に満たない数の前記第1のクラスに属する前記太陽電池モジュールを前記擬似モジュールで補うことによって形成されることを特徴とする請求項5記載の太陽光発電を最適化する演算装置。前記結線パターン選択部は、複数設定される直列数に対して、少なくとも前記第1のストリング、前記第2のストリング、及び前記第3のストリングの何れかを並列接続することによって形成される各アレイのうち、前記アレイの最大出力が最も大きくなるときの直列数に係る結線パターンを選択することを特徴とする請求項6記載の太陽光発電を最適化する演算装置。前記ストリング形成部は、前記第1のクラスに属する前記太陽電池モジュールを電流値の順番に並べることによって前記第1のストリング及び前記第3のストリングを形成し、前記第2のクラスに属する前記太陽電池モジュールのうち、前記第3のストリングに用いられないものを、電流値の順番に並べることによって前記第2のストリングを形成することを特徴とする請求項5~7の何れか一項記載の太陽光発電を最適化する演算装置。前記ストリング形成部は、前記第1のクラスに属する前記太陽電池モジュールのみを直列接続させた第1のストリングと、前記第2のクラスに属する前記太陽電池モジュールのみを直列接続させた第2のストリングと、を形成可能であり、前記第1のストリングによって形成されるアレイの最大出力に基づいて、当該第1のストリングを形成可能であり、前記第2のストリングによって形成されるアレイの最大出力に基づいて、当該第2のストリングを形成可能であることを特徴とする請求項3記載の太陽光発電を最適化する演算装置。前記ストリング形成部は、前記第1のクラスに属する前記太陽電池モジュールを電流値の順番に並べることによって前記第1のストリングを形成し、前記第2のクラスに属する前記太陽電池モジュールを電流値の順番に並べることによって前記第2のストリングを形成することを特徴とする請求項9記載の太陽光発電を最適化する演算装置。前記結線パターン選択部は、同じクラス内の前記太陽電池モジュールが全て直列に接続される結線パターンを選択することを特徴とする請求項1~4の何れか一項記載の太陽光発電を最適化する演算装置。電流値として、前記太陽電池モジュールの短絡電流、または最大出力動作点における電流値が使用されることを特徴とする請求項1~11の何れか一項記載の太陽光発電を最適化する演算装置。前記パラメータは、電圧値を更に含むことを特徴とする請求項1~12の何れか一項記載の太陽光発電を最適化する演算装置。請求項1~13の何れか一項記載の太陽光発電を最適化する演算装置と、複数の太陽電池モジュールと、を備える太陽光発電システム。前記演算装置は、前記パラメータの取得、クラス分け、及び前記結線パターンの選択を定期的に行うことを特徴とする請求項14記載の太陽光発電システム。請求項1~13の何れか一項記載の太陽光発電を最適化する演算装置によって、仮想的に設定された複数の太陽電池モジュールの結線パターンを設定する太陽光発電シミュレーションシステム。複数の太陽電池モジュールの結線パターンを演算することによって太陽光発電を最適化する方法であって、ぞれぞれの前記太陽電池モジュールから、少なくとも電流値を含むパラメータを取得するパラメータ取得ステップと、前記パラメータ取得ステップで取得された前記パラメータに基づいて、前記太陽電池モジュールをクラス分けするクラス分けステップと、前記クラス分けステップによるクラス分けに基づいて、前記結線パターンを選択する結線パターン選択ステップと、を備えることを特徴とする太陽光発電を最適化する方法。一方で、近年、太陽光発電システムに含まれる太陽電池モジュールの枚数は増加する傾向にあるが、従来の最適化の方法では、太陽電池モジュールの枚数が多くなった場合に、検討すべき結線パターンが極めて多数になってしまう。その中から最適な結線パターンを選択しようとした場合、演算の負荷が大きくなり、演算の時間がかかり過ぎたり、演算装置に実装されているメモリの量が不足するなどの問題が生じる。本発明は、このような課題を解決するためになされたものであり、効率よく結線パターンを選択することで演算の負荷を低減しつつ太陽光発電の発電性能を向上できる、太陽光発電を最適化する演算装置、太陽光発電を最適化する方法、太陽光発電システム、及び太陽光発電シミュレーションシステムを提供することを目的とする。本発明に係る太陽光発電を最適化する演算装置は、複数の太陽電池モジュールの結線パターンを演算することによって太陽光発電を最適化する演算装置であって、ぞれぞれの太陽電池モジュールから、少なくとも電流値を含むパラメータを取得するパラメータ取得部と、パラメータ取得部で取得されたパラメータに基づいて、太陽電池モジュールをクラス分けするクラス分け部と、クラス分け部によるクラス分けに基づいて、結線パターンを選択する結線パターン選択部と、を備えることを特徴とする。本発明に係る演算装置によれば、少なくとも各太陽電池モジュールの電流値を含むパラメータに基づいて、クラス分け部が太陽電池モジュールのクラス分けを行っている。すなわち、太陽電池モジュールの数が増加した場合であっても、クラス分けを行うことによって、各クラスでの結線パターンの最適化を行うことが可能であるため、多数の太陽電池モジュールの結線パターンをまとめて演算する場合に比して、演算の負荷を低減することができる。これによって、効率よく結線パターンを選択することで演算の負荷を低減しつつ太陽光発電の発電性能を向上できる。また、本発明に係る演算装置において、クラス分け部は、パラメータが近い太陽電池モジュール同士を同じクラスに分けることが好ましい。これによって、各クラス内でパラメータが似たもの同士でストリング、アレイを構成することが可能となり、結線パターンの最適化が行い易くなると共に、各太陽電池モジュールの出力を無駄なく有効に利用できる結線パターンを形成し易くなる。また、本発明に係る演算装置において、太陽電池モジュールを直列接続してストリングを形成するストリング形成部を更に備え、クラス分け部は、太陽電池モジュールを、少なくとも、第1のクラスと、第1のクラスよりパラメータが小さい第2のクラスに分け、ストリング形成部は、クラスごとにストリングを形成可能であり、結線パターン選択部は、ストリング形成部によって形成されたストリングに基づいて、結線パターンを選択することが好ましい。これによりパラメータが大きい太陽電池モジュール同士でストリングを形成し、パラメータが小さい太陽電池モジュール同士でストリングを形成することが可能となる。これにより、パラメータが近いもの同士を直列接続してストリングを形成すればよいのでクラスごとの結線パターンの最適化が行い易くなる。更に、各ストリング内でのモジュール間のパラメータの差特に電流差が少ないために、各ストリングを並列接続して形成されるアレイの最大出力を大きくし易くなる例えば図13及び図14参照。また、本発明に係る演算装置において、結線パターン選択部は、太陽電池モジュールの結線によって構成されるアレイの最大出力が最大となるように、結線パターンを選択することが好ましい。これによって、太陽光発電に係る発電効率を向上することができる。また、本発明に係る演算装置では、ストリング形成部は、第1のクラスに属する太陽電池モジュールのみを直列接続させた第1のストリングと、第2のクラスに属する太陽電池モジュールのみを直列接続させた第2のストリングと、第1のクラスに属する太陽電池モジュール、及び第2のクラスに属する太陽電池モジュールを接続させた第3のストリングと、を形成可能であり、第3のストリングは、第1のクラスに属する太陽電池モジュールのパラメータに基づいて、第2のクラスに属する複数の太陽電池モジュール同士を接続することによって形成される擬似モジュールと、第1のクラスに属する太陽電池モジュールと、を直列接続することによって形成されることが好ましい。本発明に係る演算装置によれば、パラメータが大きい太陽電池モジュールのみで第1のストリングを形成し、パラメータが小さい太陽電池モジュールのみで第2のストリングを形成することが可能となる。これにより、パラメータが近いもの同士を直列接続して各ストリングを形成すればよいのでクラスごとの結線パターンの最適化が行い易くなる。更に、各ストリング内でのモジュール間のパラメータの差特に電流差が少ないために、各ストリングを並列接続して形成されるアレイの最大出力を大きくし易くなる。更に、擬似モジュールを用いることによって、第1のストリング相当の電流値を得られる第3のストリングを形成することができるため、全ての太陽電池モジュールを無駄なく利用することができる。また、本発明に係る演算装置において、ストリング形成部は、少なくとも第1のストリングに対して設定された直列数に基づいて、第1のクラスに属する太陽電池モジュールを直列接続し、第3のストリングは、直列数に満たない数の第1のクラスに属する太陽電池モジュールを擬似モジュールで補うことによって形成されることが好ましい。このように、第1のクラスにおいて直列数に満たないあまりの太陽電池モジュールがあっても、擬似モジュールで補うことができるため、あまりの太陽電池モジュールが無駄になることを防止し、アレイ出力に寄与させることができる。また、本発明に係る演算装置において、結線パターン選択部は、複数設定される直列数に対して、少なくとも第1のストリング、第2のストリング、及び第3のストリングの何れかを並列接続することによって形成されるアレイのうち、アレイの最大出力が最も大きくなるときの直列数に係る結線パターンを選択することが好ましい。ストリングの直列数を変更するだけで複数パターンの結線パターンの候補を作成でき、その中で最適な直列数を選べばよいだけなので、演算の負荷を極めて低減できる一方、発電効率を向上することができる。また、本発明に係る演算装置において、ストリング形成部は、第1のクラスに属する太陽電池モジュールを電流値の順番に並べることによって第1のストリング及び第3のストリングを形成し、第2のクラスに属する太陽電池モジュールのうち、第3のストリングに用いられないものを、電流値の順番に並べることによって第2のストリングを形成することが好ましい。単に太陽電池モジュールを電流値の順番に並べればよいだけなので、容易に各ストリングを形成することができる。一方で、順番に並べられることで、各ストリングでは太陽電池モジュール間の電流差が小さくなるため、アレイの最大出力を大きくし易くなる。また、本発明に係る演算装置では、ストリング形成部は、第1のクラスに属する太陽電池モジュールのみを直列接続させた第1のストリングと、第2のクラスに属する太陽電池モジュールのみを直列接続させた第2のストリングと、を形成可能であり、第1のストリングによって形成されるアレイの最大出力に基づいて、当該第1のストリングを形成可能であり、第2のストリングによって形成されるアレイの最大出力に基づいて、当該第2のストリングを形成可能であることが好ましい。本発明に係る演算装置によれば、パラメータが大きい太陽電池モジュールのみで第1のストリングを形成し、パラメータが小さい太陽電池モジュールのみで第2のストリングを形成することが可能となる。これにより、電流値が近いもの同士を直列接続して各ストリングを形成すればよいのでクラスごとの結線パターンの最適化が行い易くなる。更に、各ストリング内でのモジュール間のパラメータの差特に電流差が少ないために、各ストリングを並列接続して形成されるアレイの最大出力を大きくし易くなる。更に、第1のストリングによって形成されるアレイの最大出力に基づいて、当該第1のストリングを形成し、第2のストリングによって形成されるアレイの最大出力に基づいて、当該第2のストリングを形成するため、それぞれのクラスで独立にアレイの結線パターンを最適化すればよく、演算の負荷を低減することができる。また、本発明に係る演算装置において、ストリング形成部は、第1のクラスに属する太陽電池モジュールを電流値の順番に並べることによって第1のストリングを形成し、第2のクラスに属する太陽電池モジュールを電流値の順番に並べることによって第2のストリングを形成することが好ましい。単に太陽電池モジュールを電流値の順番に並べればよいだけなので、容易に各ストリングを形成することができる。一方で、順番に並べられることで、各ストリングでは太陽電池モジュール間の電流差が小さくなるため、アレイの最大出力を大きくし易くなる。また、本発明に係る演算装置において、結線パターン選択部は、同じクラス内の太陽電池モジュールが全て直列に接続される結線パターンを選択することが好ましい。これによって、クラス分けが完了したら直ちに結線パターンも決まるため、演算の負荷を低減することができる。また、本発明に係る演算装置において、電流値として、例えば、太陽電池モジュールの短絡電流、または最大出力動作点における電流値が使用される。また、本発明に係る演算装置において、パラメータは、電圧値を更に含むことが好ましい。これによって、太陽電池モジュールの電流値の変化のみならず、電圧値の変化も考慮することができ、より正確な演算が可能となる。本発明に係る太陽光発電システムは、上述の演算装置と、複数の太陽電池モジュールと、を備えている。上述の演算装置を用いることで、効率よく発電を行うことができる上、結線パターンを決定する場合も演算の負荷を低減することができる。本発明に係る太陽光発電システムにおいて、演算装置は、パラメータの取得、クラス分け、及び結線パターンの選択を定期的に行うことが好ましい。これによって、環境に合わせて最適に結線パターンを変更することができる。本発明に係る太陽光発電シュミレーションシステムは、上述の演算装置によって、仮想的に設定された複数の太陽電池モジュールの結線パターンを設定する。上述の演算装置を用いることで、低い演算の負荷にて最適な結線パターンを決定することができる。本発明に係る太陽光発電を最適化する方法は、複数の太陽電池モジュールの結線パターンを演算することによって太陽光発電を最適化する方法であって、ぞれぞれの太陽電池モジュールから、少なくとも電流値を含むパラメータを取得するパラメータ取得ステップと、パラメータ取得ステップで取得されたパラメータに基づいて、太陽電池モジュールをクラス分けするクラス分けステップと、クラス分けステップによるクラス分けに基づいて、結線パターンを選択する結線パターン選択ステップと、を備える。本発明に係る方法によれば、少なくとも各太陽電池モジュールの電流値を含むパラメータに基づいて、クラス分け部が太陽電池モジュールがクラス分けを行っている。すなわち、太陽電池モジュールの数が増加した場合であっても、クラス分けを行うことによって、各クラスでの結線パターンの最適化を行うことが可能であるため、多数の太陽電池モジュールの結線パターンをまとめて演算する場合に比して、演算の負荷を低減することができる。これによって、効率よく結線パターンを選択することで演算の負荷を低減しつつ太陽光発電の発電性能を向上できる。本発明によれば、効率よく結線パターンを選択することで演算の負荷を低減しつつ発電性能を向上できる。まず、本発明の基本概念について説明する。まず、太陽電池モジュールMの電流と電圧との関係をグラフにすると、図12に示すようなIVカーブが描かれる。このようなIVカーブに対し、太陽電池モジュールMの出力が最大となる最大出力動作点Pmaxを設定する。このとき、最大出力動作点Pmaxに対して長方形を設定すると長方形の面積=太陽電池モジュールMの最大出力の関係が成り立つ。従ってIVカーブを長方形で近似することによって、以降の演算を簡略化することができる。このように近似された長方形を、説明のために以下出力ブロックBLと称する。このように近似された出力ブロックBLを用いると、複数の太陽電池モジュールMを直列に接続して、電圧を上げたストリングSTの電流と電圧の関係は、図12bのように表される。太陽電池モジュールMの結合によって形成される出力ブロックBLの集合体を以下出力アセンブリASと称する。太陽電池モジュールMを直列接続したストリングSTに対応する出力アセンブリASは、各出力ブロックBLを横方向に積むことによって構成される。このストリングSTに対する最大出力動作点Pmaxは、出力アセンブリASの右上の角部に設定される。ストリングSTを並列に接続して、電流を上げたアレイAの電流と電圧の関係は、図12cにように表される。アレイAに対応する出力アセンブリASは、各ストリングSTに対応する出力ブロックBLの段を複数段積むことによって構成される。このアレイAに対する最大出力動作点Pmaxは、出力アセンブリASの右上の角部に設定される。図12cのように出力ブロックBLの形が全て同じであれば、アレイAに対応する出力アセンブリASはシンプルな長方形となるため、最大出力動作点Pmaxを容易に設定できる。しかしながら、図13aに示すように、一部の太陽電池モジュールMが影になる場合がある。このような場合、当該影になっている太陽電池モジュールMだけ、電流が小さくなり出力ブロックBLが低くなる可能性があり、更に、電圧が低くなって出力ブロックBLが狭くなる可能性もある。このような場合、図13bの上段に示すように影の部分の太陽電池モジュールMに対応する出力ブロックBLが小さくなるここでは、電流のみが小さくなっている。個々の出力ブロックBLが小さくなることで間に空間が開くため、当該空間を埋めるように出力アセンブリASは再構築され、図13bの下段に示すような構成となる。このように歪な出力アセンブリASに対しては、最大出力動作点Pmaxは一義的に定めることができず、候補点P1,P2,P3のいずれかの点に設定される。しかしながら、候補点P1を最大出力動作点Pmaxに設定した場合、実線で示す長方形の範囲内の電力のみが用いられ、それ以外の範囲の電力は無駄になる。候補点P2を最大出力動作点Pmaxに設定した場合、点線で示す長方形の範囲内の電力のみが用いられ、それ以外の範囲の電力は無駄になる。候補点P3を最大出力動作点Pmaxに設定した場合、一点差線で示す長方形の範囲内の電力のみが用いられ、それ以外の範囲の電力は無駄になる。ここで、太陽電池モジュールMの接続の最適化を図り、図14aに示すように、影になっていた部分の太陽電池モジュールMのみでストリングSTを構成する。なお、このアレイAは、太陽電池モジュールMの位置を物理的に移動しているのではなく、位置はそのままで太陽電池モジュールM同士の結線のみを変更することで、このようなアレイAを形成している。このようなこの場合、図14bに示すように、出力アセンブリASの一段目は、影になるストリングSTに対応する出力ブロックBLのみで構成されており、高さ電力が全て一致している。従って、出力アセンブリAS全体で見ると長方形を描く。このような出力アセンブリASであれば、最大出力動作点Pmaxを一義的に設定することができ、一部の電力を無駄にすることなく、全ての電力が最大出力に寄与することができる。以上のように、太陽電池モジュールMの接続関係を最適化することで発電量向上を図ることができる。ここで、太陽電池モジュールMの枚数が多いと演算量が膨大に増えてしまう。本発明の各実施形態に係る太陽光発電を最適化する演算装置、太陽光発電を最適化する方法、太陽光発電システム及び太陽光発電シミュレーション装置では、太陽電池モジュールMをクラス分けすることで、少ない演算量にて発電量向上を図ることが可能となる。[第1実施形態]図1を参照して、本発明の第1実施形態に係る太陽光発電を最適化する演算装置、太陽光発電システム及び太陽光発電を最適化する方法について詳細に説明する。図1に示すように、太陽光発電システム100は、演算装置1と、発電装置2と、パワーコンディショナー3と、を備えている。発電装置2は、太陽光によって発電する機能を有しており、複数の太陽電池モジュールMと、検出部4と、結線部6と、を備えている。各太陽電池モジュールMは平面方向に一間隔で縦横複数列に並べられており、物理的な配置は固定されている。検出部4は、全ての太陽電池モジュールMのパラメータを検出可能である。検出部4は、パラメータとして、電流値、電圧値を検出することができる。検出部4は、少なくとも電流値を検出する。具体的に、検出部4は、各太陽電池モジュールMに対して一つずつ設けられた検出センサによって構成されている。検出部4は、検出結果を演算装置1へ出力する機能を有している。結線部6は、演算装置1で選択された結線パターンに基づいて、各太陽電池モジュールMを結線する機能を有している。結線部6は、物理的な位置によらず、複数の太陽電池モジュールMをあらゆるパターンにて結線することができる。結線部6は、隣り合っていない太陽電池モジュールM同士を直列並列接続することができる。パワーコンディショナー3は、発電装置2で発電されたDC電力を変換する機能を有しており、DC/DCコンバータを備えている。本実施形態においては、発電装置2に対してすなわち太陽電池モジュールMのアレイAに対して一個のパワーコンディショナー3が設けられていればよい。演算装置1は、太陽光発電を最適化する機能を有すると共に、太陽光発電システム100全体の制御を行う機能を有しており、例えば電子制御を行うデバイス例えばCPUCentralProcessingUnit、ROMReadOnlyMemory、RAMRandomAccessMemory、および入出力インターフェイスを含んで構成されたデバイスによって構成されている。演算装置1は、複数の太陽電池モジュールMの最適な結線パターンを演算し、選択する機能を有している。演算装置1は、発電装置2との間で信号の送受信を行う機能を有している。この信号の送受信は無線通信であっても有線通信であってもよい。演算装置1は、パラメータ取得部11と、クラス分け部12と、ストリング形成部13と、擬似モジュール形成部14と、結線パターン選択部17と、処理部18と、記憶部19と、を備えている。パラメータ取得部11は、検出部4の出力を受信することにより、各太陽電池モジュールMから少なくとも電流値及び電圧値を含むパラメータを取得する機能を有している。クラス分け部12は、パラメータに基づいて、各太陽電池モジュールMをクラス分けする機能を有している。また、クラス分け部12は、パラメータが近い太陽電池モジュールM同士を同じクラスに分ける機能を有し、具体的には、電流値が高いクラスと、電流値が低いクラスとに分ける機能を有している。本実施形態では日向クラスと、当該日向クラスより電圧が低い日影クラスの二クラスに分けているが、更に多数のクラスに分けてよい。なお、クラス分けにあたって、クラスの数に予め制約を設けておいてもよく、クラス内の太陽電池モジュールMの数に予め制約を設けておいてもよい。それにより、クラス内に含まれる太陽電池モジュールMの枚数を一定範囲内に収めることができ、演算の負荷を低減できる。ストリング形成部13は、クラスごとに太陽電池モジュールMのストリングSTを形成する機能を有している。ストリング形成部13は、日向クラスに属する太陽電池モジュールMのみを直列接続させた日向クラスのストリングST第1のストリングと、日影クラスに属する太陽電池モジュールMのみを直列接続させた日影クラスのストリングST第2のストリングと、日向クラスに属する太陽電池モジュールのあまりモジュールEM、及び日影クラスに属する太陽電池モジュールMによって構成される擬似モジュールVMを直列接続させたストリングST第3のストリングと、を形成可能である。なお、ストリング形成部13は、各クラスの太陽電池モジュールMの枚数によって、三種類のストリングSTを全て形成する場合もあれば、三つのうちの何れか二つのみのストリングを形成する場合、三つのうちの何れか一つのみのストリングを形成する場合もある。ストリング形成部13は、設定された直列数に基づいて、日向クラス及び日影クラスに属する太陽電池モジュールMを直列接続し、あまりモジュールEMを含むストリングSTについては、直列数に満たない数のあまりモジュールEMを擬似モジュールVMで補うことによって形成される。この直列数は、パワーコンディショナー3の許容電圧などによって一定範囲の数例えば5~7を設定することが可能であり、ストリング形成部13は、各直列数に応じたストリングSTを形成できる。また、ストリング形成部13は、日向クラスに属する太陽電池モジュールMを電流値の順番に並べることによって各ストリングSTを形成し、日影クラスに属する太陽電池モジュールMのうち、擬似モジュールVMに用いられないものを、電流値の順番に並べることによってストリングSTを形成する機能を有している。擬似モジュール形成部14は、日向のクラスに属する太陽電池モジュールMのパラメータ本実施形態では電流値に基づいて、日影のクラスに属する複数の太陽電池モジュールMを並列接続することによって擬似モジュールVMを形成する機能を有している。結線パターン選択部17は、クラス分けに基づいて、結線パターンを選択する機能を有しており、太陽電池モジュールMの結線によって構成されるアレイAの最大出力が最大となるように、結線パターンを選択する機能を有している。処理部18は、上述の各部11~17で行われる処理以外の処理を実行する機能を有している。記憶部19は、各種情報を記憶する機能を有している。クラス分けにあたっては、所定の条件、例えばセル温度25°C、日射強度1kW/m2、スペクトルAM1.5における太陽電池の最大出力動作電流を使用することも可能であるし、同条件における短絡電流を使用することも可能であるし、他の条件、例えばNOCTでの電流値を使用することもできる。また、太陽電池の設置角度がモジュールによって異なる場合や、モジュールに発生する影の影響がモジュールによって相違する場合は、各モジュールの電流の予想値を、所定の単数または複数の日時について計算によって求めておき、その結果によって太陽電池モジュール間の結線を最適化してもよい。更に、そのクラス分けを、日時に応じて複数行い、それぞれに対して最適な結線を求めておき、日時によって結線を変更することも可能である。この場合、日時によって変化する最適な結線パターンをきめ細かに実現できるため、設置工事の時にのみ最適化を行うよりも優れた発電量向上効果が得られる。更に、最大出力動作電流または短絡電流を定期的に実測し、その結果に基づいて太陽電池モジュールMのクラス分け、結線パターンの最適化を定期的に実施してもよい。この場合、実際のパラメータを使用するため、更に優れた発電量向上効果が得られる。次に、図2~図11を参照して、演算装置1の具体的な演算処理の内容について説明する。図2は、演算装置1が太陽電池モジュールの最適な結線パターンを選択する際に実行される処理内容を示すフローチャートである。図2の処理は、結線パターンを選択する際に、所定のタイミングで実行される。図3~図7は、図2の各処理の具体的な内容を示すフローチャートである。日影になることによる太陽電池モジュールMの出力は、電流の変化に比して電圧の変化の方が小さい。本実施形態に係る制御処理では、日影の太陽電池モジュールMの電圧は変化せず、電流のみが変化するものと近似して演算を行う。図2に示すように、パラメータ取得部11は、各太陽電池モジュールMの電流値を取得するステップS100。電流値として、例えば、太陽電池モジュールMの短絡電流、または最大出力動作点における電流値を使用することができる。次に、クラス分け部12は、S100で取得された電流値に基づいて、各太陽電池モジュールMのクラス分け処理を実行するステップS102。クラス分け部12は、複数の太陽電池モジュールMを、日向クラスと日影クラスとに分ける。日影クラスは、日向クラスよりも電流値が低いクラスである。ここで、図3を参照してS102のクラス分け処理の詳細について説明する。図3において、クラス分け部12は、あらゆるパターンで暫定的に日向クラスと日影クラスとに分けて、最適なパターンを求め、当該組み合わせをクラス分けとして採用する。まず、クラス分け部12は、各太陽電池モジュールMを電流値の降順にソートし、電流値の低い方から順に1~nの番号を付すステップS130。具体的には、図8に示すように、電流値が低い方から順出力ブロックBLの高さが低いものから順にに太陽電池モジュールM1,M2,...,Mi,...Mnと番号が付されて並べられる。なお、図8では、理解を容易とするため、太陽電池モジュールMを出力ブロックBLに置き換えて示される。すなわち、日影となる太陽電池モジュールMは、電流が小さくなって出力ブロックBLの高さが低くなるため、薄く示される。以下の図面においても同様である。次に、クラス分け部12は、最も電流値が低い一番目の太陽電池モジュールM1を日影クラスに加え、その他の全ての太陽電池モジュールM2~Mnを日向クラスに加えるステップS132。また、クラス分け部12は、パターン番号iとして1を設定するステップS134。次に、クラス分け部12は、各クラスの乖離度算出処理を実行するステップS136,S138。具体的な乖離度の演算では、図4に示すように、クラス分け部12は、同一クラスに属する太陽電池モジュールMの電流値の平均値を演算するステップS150。その次に、クラス分け部12は、クラス内の各太陽電池モジュールMについて、電流値の平均値からの差の二乗の値をそれぞれ算出し、全ての太陽電池モジュールMについての当該二乗の値を合計する。クラス分け部12は、その二乗の値の合計値を、パターン番号iでのクラスの乖離度と設定するステップS152。図4に示す方法にて、クラス分け部12は、日影クラスの乖離度を算出しステップS136、日向クラスの乖離度を算出するステップS138。次に、クラス分け部12は、S136で算出した日影クラスの乖離度とS138で算出した日向クラスの乖離度とを合計し、パターン番号iでのクラス分け乖離度として設定し、記憶部19へ記憶させるステップS140。次に、クラス分け部12は、パターン番号iがn-1まで至ったか否かを判定するステップS142。S142において、パターン番号iがn-1まで至っていないと判定された場合、すなわちクラス分け乖離度を算出していないパターンが残っている場合、クラス分け部12は、パターン番号iに1を加算するステップS144。クラス分け部12は、新たに設定されたパターン番号iにて、i番目の太陽電池モジュールMiすなわち、前回の演算で日向クラスに分けられていたものの中で最も電流値が低いものを日向クラスから日影クラスへ移動させるステップS146。その後、クラス分け部12は、S136~S146の処理を、パターン番号i=n-1のクラス分け乖離度を算出するまで繰り返し実行する。これにより、パターン番号i=1~n-1の全てのクラス分け乖離度が算出される。パターン番号i=n-1のクラス分け乖離度が算出されると、S142においてパターン番号iがn-1になったと判定され、S148の処理へ移行する。クラス分け部12は、パターン番号i=1~n-1のクラスの組み合わせのうち、最もクラス分け乖離度が低くなるパターンを選択するステップS148。これによって、日向クラスと日影クラスのクラス分け処理が完了し、図3に示す処理が終了する。図2に戻り、処理部18は、直列数Sとして、予め設定しておいた直列数の中の最低値を設定するステップS104。直列数Sは、太陽電池モジュールMのアレイAを構成する際の、ストリングSTの直列数であり、パワーコンディショナー3が許容する電圧値で定められる。直列数が大きすぎる時は電圧値が高くなりすぎ、パワーコンディショナー3がダメージを受け、直列数が小さすぎる時は電圧値が低くなりすぎ、パワーコンディショナー3が起動しない可能性がある。本実施形態では、直列数S=5~7に設定されている。従って、S104では、直列数S=5が設定される。次に、ストリング形成部13は、日向クラスのストリング形成処理を実行するステップS106。なお、以降の説明において、日向クラスの太陽電池モジュールMその出力ブロックBLを太陽電池モジュールMS出力ブロックBLSとし、日影クラスの太陽電池モジュールMその出力ブロックBLを太陽電池モジュールMD出力ブロックBLDとして説明する。ここで、図5を参照して、日向クラスのストリング形成処理の詳細について説明する。図5に示すように、ストリング形成部13は、日向クラスの太陽電池モジュールMSを電流値の高い順に直列数S枚ずつ組み合わせ、日向ストリングSTSを形成するステップS160。例えば、図9aに示すように、図中DRで示すような順番で電流値の高い太陽電池モジュールMSから並べられる。直列数S枚の日向ストリングSTSが形成され、それぞれの日向ストリングSTSは並列に接続される。なお、図9では、厳密には各太陽電池モジュールMS出力ブロックBLSの高さは徐々に低くなるものであるが、後述の日影の太陽電池モジュールMD出力ブロックBLDとの区別を明確にすべく、全て同じ形状にしている。次に、ストリング形成部13は、太陽電池モジュールMSの数が直列数Sに満たない日向ストリングSTSがあるか否かを判定するステップS162。図9の例では、最下段の日向ストリングSTSで太陽電池モジュールMSが三つ不足している。S162において、直列数Sに満たない日向ストリングSTSがあると判定された場合、ストリング形成部13は、当該日向ストリングSTSの太陽電池モジュールMSをf個のあまりモジュールEMとして設定するステップS164。その後、ストリング形成部13は、設定した日向ストリングSTSと、あまりモジュールEMとを、記憶部19に記憶させるステップS166。一方、S162において、直列数Sに満たない日向ストリングSTSがないと判定された場合、ストリング形成部13は、設定した日向ストリングSTSを、記憶部19に記憶させるステップS166。図2に戻り、処理部18は、あまりモジュールEMがあるか否かを判定するステップS108。具体的には、処理部18は、図5のS166において記憶部19に格納された情報を参照することによって、判定する。S108において、あまりモジュールEMが無いと判定された場合、演算処理は、日影クラスのストリング形成処理へ移行するステップS114。一方、S166において、あまりモジュールEMが有ると判定された場合、擬似モジュール形成部14は、擬似モジュール形成処理を実行するステップS110。擬似モジュール形成部14は、あまりモジュールEMを有している日向ストリングSTSに対して、日影の太陽電池モジュールMDで擬似的に形成されたモジュール以下、擬似モジュールVMとするを追加することで、不足分の太陽電池モジュールMSを補う。ここで、図6を参照して、擬似モジュール形成処理の詳細について説明する。まず、擬似モジュール形成部14は、日向ストリングSTSのあまりモジュールの数fと、直列数Sとから、形成すべき擬似モジュールVMの数S-fを演算するステップS170。図9の例では、あまりモジュールEMのモジュール数f=2で直列数S=5であるため、擬似モジュールVMは、3つと算出される。次に、擬似モジュール形成部14は、日影クラスとして分けられた太陽電池モジュールMDの数で、必要とされる擬似モジュールVMの数をまかなえるか否かを判定する。具体的には、擬似モジュール形成部14は、日影クラスとして分けられた太陽電池モジュールMDの数をkとしステップS172、当該モジュール数kが擬似モジュール数S-f以上であるか否かを判定するステップS174。S174において、擬似モジュール数S-fが日影クラスの太陽電池モジュールMDのモジュール数kより多いと判定された場合、擬似モジュールVMを作成することができないため、擬似モジュールVMを形成することなく図6の処理を終了する。一方、S174において、太陽電池モジュールMDのモジュール数kが擬似モジュール数S-f以上であると判定された場合、擬似モジュール形成部14は、日向クラスのあまりモジュールEMの平均電流値IOを算出するステップS176。当該平均電流値IOは、擬似モジュールVMを形成する際の、目標電流値として設定される。擬似モジュール形成部14は、日影クラスの太陽電池モジュールMDのうち、電流値の高いものから順に、S-f枚を一並列擬似モジュールVMとして割り当てるステップS178。また、擬似モジュール形成部14は、割り当てた太陽電池モジュールMDを日影クラスから取り除くステップS180。図10aの例では、三つの擬似モジュールVMのそれぞれに対して、電流値の高い太陽電池モジュールMDから順に一つずつ割り当てられる。このときの割り当て順序も、図9aに示すDRに示す順序に従う。また、割り当てられた三つの太陽電池モジュールMDは、日影クラスから除かれている。次に、擬似モジュール形成部14は、各擬似モジュールVMに対し、日影クラスに残存する太陽電池モジュールMDを割り当てて並列接続する。これによって、擬似モジュール形成部14は、各擬似モジュールVMについて、平均電流値IOに近くなる組み合わせを選定するステップS182。擬似モジュール形成部14は、選定した太陽電池モジュールMDを日影クラスから取り除くステップS184。また、擬似モジュール形成部14は、選定したS-f組の擬似モジュールVM並列接続された太陽電池モジュールMDの組み合わせを、記憶部19に記憶させるステップS186。図10bの例では、既に各擬似モジュールVMに割り当てられた太陽電池モジュールMDの電流値を補うように、低い電流値の太陽電池モジュールMD中から選定して、擬似モジュールVMに割り当てる。また、割り当てられた太陽電池モジュールMDは、それぞれの擬似モジュールVMの中で並列接続される。S186の処理が完了したら、擬似モジュールVMの形成処理が終了し、図6の処理が終了する。図2に戻り、ストリング形成部13は、日向クラスのあまりモジュールEMと、S110で形成された擬似モジュールVMとでストリングSTSを形成するステップS112。具体的には、ストリング形成部13は、図9bに示すように、各擬似モジュールVM内の太陽電池モジュールMDを並列接続し、あまりモジュールEMと擬似モジュールVMとを直列接続して、一つの日向ストリングSTSを形成する。次に、ストリング形成部13は、日影クラスのストリングSTDを形成する日影クラスのストリング形成処理を実行するステップS114。ここで、図7を参照して、日影クラスのストリング形成処理の詳細について説明する。なお、図6の擬似モジュール形成処理において、擬似モジュールVM作成のために太陽電池モジュールMDが使用された場合、図7の処理は、使用された太陽電池モジュールMDが日影クラスから除かれた状態にて実行される。まず、ストリング形成部13は、日影クラス内の太陽電池モジュールMDを電流値の高い順に、直列数S枚ずつ組み合わせ、ストリングSTDを形成するステップS190。図11に示す例では、図中DRに示す方向に従って、電流値の高いものから順に太陽電池モジュールMDが並べられる。次に、ストリング形成部13は、モジュール数がS枚に満たないストリングSTDが有るか否かを判定するステップS192。S192において有ると判定された場合、ストリング形成部13は、当該ストリングSTDの太陽電池モジュールMDをあまりモジュールEMとして認定するステップS194。一方、S192において無いと判定された場合、あまりモジュールEMは無いとして、S194の処理がスキップされる。ストリング形成部13は、日影クラスの太陽電池モジュールMDの組み合わせストリングSTDと、あまりモジュールEMを記憶するステップS196。S196の処理が完了したら、日影クラスのストリング形成処理が終了し、図7の処理が終了する。図2に戻り、処理部18は、日影クラスのあまりモジュールEMがあるか否かを判定するステップS116。具体的には、処理部18は、図7のS196において記憶部19に格納された情報を参照することによって、判定する。S116において、あまりモジュールEMが有ると判定された場合、処理部18は、当該あまりモジュールEMは使用しないものと認定するステップS118。S116において、あまりモジュールEMが無いと判定された場合、S118の処理はスキップされる。次に、ストリング形成部13は、S110、S112、及びS114にて形成した日向クラスのストリングSTS及び日影クラスのストリングSTDを並列に接続し、アレイAを形成する。更に、ストリング形成部13は、当該アレイAでの最大出力動作点Pmaxを算出し、直列数SでのアレイAとして記憶部19に記憶させるステップS120。例えば、図11の例では、ストリング形成部13は、日向クラスのストリングSTS及び日影クラスのストリングSTDを並列接続してアレイAを構成する。このとき、日影クラスのあまりモジュールEMは使用されない。更に、ストリング形成部13は、作成したアレイAの出力ブロックBLを用いて、図14bに示すものと同趣旨の出力アセンブリASを作成し、最大出力動作点Pmaxを認定する。次に、処理部18は、直列数Sが7であるか否かを判定するステップS122。直列数Sが7でないすなわち5か6と判定された場合、処理部18は直列数Sに1を加算するステップS124。また、新たに設定した直列数Sにて、S106~S122の処理を繰返す。これにより、直列数Sを一つ増やした場合のアレイAにおける最大出力動作点Pmaxを求めることができる。S122にて直列数Sが7であると判定された場合、全ての直列数についてのアレイ形成が終了したとし、結線パターン選択部17は、直列数S=5~7のそれぞれのアレイAの最大出力動作点Pmaxを記憶部19から読み出すと共に比較し、最もPmaxが大きくなるときのアレイAの構成を選択するステップS126。すなわち、結線パターン選択部17は、当該アレイAを構成できるような結線パターンを選択する。S126の処理が完了したら、採用すべき結線パターンが決定し、図2の処理が終了する。次に、本実施形態の作用効果について説明する。演算装置1によれば、各太陽電池モジュールMの電流値を含むパラメータに基づいて、クラス分け部12が太陽電池モジュールMのクラス分けを行っている。すなわち、太陽電池モジュールMの数が増加した場合であっても、クラス分けを行うことによって、各クラスでの結線パターンの最適化を行うことが可能であるため、多数の太陽電池モジュールの結線パターンをまとめて演算する場合に比して、演算の負荷を低減することができる。これによって、効率よく結線パターンを選択することで演算の負荷を低減しつつ発電性能を向上できる。また、クラス分け部12は、パラメータが近い太陽電池モジュールM同士を同じクラスに分ける。これによって、各クラス内で特性が似たもの同士でストリングST、アレイAを構成することが可能となり、結線パターンの最適化が行い易くなると共に、各太陽電池モジュールMの出力も無駄なく有効に利用できる結線パターンを形成し易くなる。また、演算装置1によれば、電流値が高い太陽電池モジュールMのみで日向クラスのストリングSTを形成し、電流値が低い太陽電池モジュールMのみで日影クラスのストリングSTを形成することが可能となる。これにより、電流値が近いもの同士を直列接続して各ストリングSTを形成すればよいのでクラスごとの結線パターンの最適化が行い易くなる。更に、各ストリングST内でのモジュール間の電流差が少ないために、各ストリングを並列接続して形成されるアレイの最大出力を大きくし易くなる。すなわち、例えば図13に示すような歪な出力アセンブリALではなく、四角形に近い出力アセンブリALを形成し易くなり、最大出力動作点Pmaxを大きくし易くなる。更に、擬似モジュールVMを用いることによって、日向クラスのストリングST相当の電流値を得られるストリングSTを形成することができるため、全ての太陽電池モジュールMを無駄なく利用することができる。また、本実施形態では、電流値のみに基づいてクラス分けした後で、直列数が揃うようにクラスごとにサブアレイが形成され、各サブアレイを並列に接続して一つのアレイが構成される。電圧は変化しないものと近似して、クラスごとにアレイを形成することで、クラス同士の電圧の差を考慮する必要がなく、簡単に結線パターンを選択することができる。また、本実施形態では、パワーコンディショナー3が発電装置2に対して一個でよい。また、ストリング形成部13は、少なくとも日向クラスのストリングSTに対して設定された直列数Sに基づいて、日向クラスに属する太陽電池モジュールMを直列接続し、あまりモジュールEMを含むストリングSTは、直列数Sに満たない数のあまりモジュールEMを擬似モジュールVMで補うことによって形成される。このように、日向クラスにおいて直列数Sに満たないあまりモジュールEMがあっても、擬似モジュールVMで補うことができるため、あまりモジュールEMが無駄になることを防止し、アレイ出力に寄与させることができる。また、結線パターン選択部17は、複数設定された直列数に対して、各ストリングSTを並列接続させて形成される各アレイのうち、アレイの最大出力が最も大きくなるときの直列数に係る結線パターンを選択する。ストリングSTの直列数Sを変更するだけで複数パターンの結線パターンの候補を作成でき、その中で最適な直列数Sを選べばよいだけなので、演算の負荷を極めて低減できる一方、発電効率を向上することができる。また、ストリング形成部13は、日向クラスに属する太陽電池モジュールMを電流値の順番に並べることによって各ストリングSTを形成し、日影クラスに属する太陽電池モジュールMのうち、擬似モジュールVMに用いられないものを、電流値の順番に並べることによって日影クラスのストリングSTを形成することが好ましい。単に太陽電池モジュールMを電流値の順番に並べればよいだけなので、容易に各ストリングSTを形成することができる。一方で、順番に並べられることで、各ストリングST内では太陽電池モジュールM間の電流差が小さくなるため、アレイAの最大出力を大きくし易くなる。[第2実施形態]第2実施形態に係る演算装置、太陽光発電システム及び太陽光発電を最適化する方法について説明する。第2実施形態では、日影の影響による各太陽電池モジュールの電流値のみならず電圧値の変化も考慮している点、各クラスごとの最大出力を考慮して結線パターンを選択する点で、主に第1実施形態と異なっている。図15に示すように、太陽光発電システム200は、演算装置20と、発電装置2と、パワーコンディショナー3と、を備えている。発電装置2の構成は第1実施形態と同様である。パワーコンディショナー3は、クラスの数に応じて複数設けられている。演算装置20は、パラメータ取得部21と、クラス分け部22と、ストリング形成部23と、モジュール調整部24と、結線パターン選択部27と、結線パターン選択部27と、処理部28と、記憶部29と、を備えている。パラメータ取得部21は、検出部4の出力を受信することにより、各太陽電池モジュールMから少なくとも電流値及び電圧値を含むパラメータを取得する機能を有している。クラス分け部22は、パラメータに基づいて、各太陽電池モジュールMをクラス分けする機能を有している。また、クラス分け部22は、パラメータが近い太陽電池モジュールM同士を同じクラスに分ける機能を有し、具体的には、パラメータが大きいクラスと、パラメータが小さいクラスとに分ける機能を有している。本実施形態では最もパラメータが大きいクラスα1と、中間のクラスα2と、パラメータが小さいクラスα3の三クラスに分けているが、更に多数のクラスに分けてよい。なお、クラス分けにあたって、クラスの数に予め制約を設けておいてもよく、クラス内の太陽電池モジュールMの数に予め制約を設けておいてもよい。それにより、クラス内に含まれる太陽電池モジュールMの枚数を一定範囲内に収めることができ、演算の負荷を低減できる。ストリング形成部23は、クラスごとに太陽電池モジュールMのストリングを形成する機能を有している。ストリング形成部23は、一のクラスに属する太陽電池モジュールMのみを直列接続させたストリングST第1のストリングと、それより一つ下位のクラスに属する太陽電池モジュールMのみを直列接続させたストリングST第2のストリングと、を形成可能である。また、ストリング形成部23は、各クラスのストリングによって形成されるアレイの最大出力に基づいて、それぞれのクラスのストリングを形成する機能を有している。なお、ストリング形成部23は、各クラスの太陽電池モジュールMの枚数によって、二種類のストリングSTを全て形成する場合もあれば、二つのうちの何れか一つのみのストリングを形成する場合もある。ストリング形成部23は、それぞれのクラスについて設定された直列数に基づいて、各クラスに属する太陽電池モジュールMをそれぞれ直列接続する。この直列数は、パワーコンディショナー3の許容電圧などによって一定範囲の数例えば5~7を設定することが可能であり、ストリング形成部23は、各直列数に応じたストリングSTを形成できる。また、ストリング形成部23は、一のクラスに属する太陽電池モジュールMを電流値の順番に並べることによって当該クラスに対応するストリングを形成し、一つ下位のクラスに属する太陽電池モジュールMを電流値の順番に並べることによって当該クラスに対応するストリングSTを形成する機能を有している。モジュール調整部24は、各クラス間で太陽電池モジュールの調整を行う機能を有している。具体的には、モジュール調整部24は、各クラスでのストリングのあまりモジュールEMの発生状況に応じて、一つ下位のクラスから太陽電池モジュールMを移動し、あるいは一つ下位のクラスへ太陽電池モジュールMを移動させる機能を有する。結線パターン選択部27は、クラス分けに基づいて、結線パターンを選択する機能を有しており、太陽電池モジュールMの結線によって構成されるアレイAの最大出力が最大となるように、結線パターンを選択する機能を有している。処理部28は、上述の各部21~27で行われる処理以外の処理を実行する機能を有している。記憶部29は、各種情報を記憶する機能を有している。次に、図16~図23を参照して、演算装置20の具体的な演算処理の内容について説明する。図16は、演算装置20が太陽電池モジュールの最適な結線パターンを選択する際に実行される処理内容を示すフローチャートである。図16の処理は、図2と同様に、結線パターンを選択する際に、所定のタイミングで実行される。図17~図20は、図16の各処理の具体的内容を示すフローチャートである。本実施形態に係る制御処理では、日影の太陽電池モジュールMは、電流電圧共に変化するものとして演算を行う。また、図16に示す制御処理の例では、各太陽電池モジュールMを三つのクラスα=123に分けるものとする。図16に示すように、パラメータ取得部21は、各太陽電池モジュールMの電流値及び電圧値を取得するステップS200。次に、クラス分け部22は、S200で取得された電流値電圧値に基づいて、各太陽電池モジュールMのクラス分け処理を実行するステップS202。クラス分け部22は、複数の太陽電池モジュールMを、クラスα=1最も日向のクラスとクラスα=2中間のクラスとクラスα=3最も日影のクラスとに分ける。ここで、図17を参照してS202のクラス分け処理の詳細について説明する。図17では、クラス分け部22は、各太陽電池モジュールMの出力ブロックBLの右上側の点パラメータの大きさを示している。以下右上点というを考慮することでクラス分けを行っているK-means法。クラス分け部22は、各太陽電池モジュールMをランダムにクラスα1α2α3に分けるステップS220。後にクラス間で調整を行うので、この段階では、各クラスのモジュール数も暫定的に決めてよい。また、この段階では、クラスα1α2α3の電流電圧の大小は考慮せずにクラス分けがなされている。次に、クラス分け部22は、電流値-電圧値の座標中における各クラスの重心C1C2C3を算出するステップS222。図21aに示す例では、暫定的に分けられたクラスα1の中の太陽電池モジュールMの出力ブロックBLを一つずつ座標中に挿入し、他の太陽電池モジュールMの出力ブロックBLとの平均値から重心位置を算出する。当該演算をクラスα1中の全ての太陽電池モジュールMについて行うことで、図21aに示すC1が、クラスα1の重心として設定される。クラスα2α3についても同様に演算することで、重心C2C3が設定される。次に、クラス分け部22は、クラス分けとは関係無しに、全ての太陽電池モジュールMについて、その右上点Gと、各クラスの重心C1C2C3との距離を演算するステップS224。また、クラス分け部22は、全ての太陽電池モジュールMについて、クラスα1α2α3のうち、最も距離の近い重心が属するクラスに割り当て直すステップS226。図21aの例では、座標に挿入された太陽電池モジュールMの出力ブロックBLの右上点Gは、重心C2との距離が最も短くなる。従って、当該太陽電池モジュールMは、クラスα2に割り当て直される。S226で割り当て直した各太陽電池モジュールMの右上点Gに基づいて、各クラスα1α2α3の重心C1C2C3を再度算出するステップS228。前回のクラス分けでのクラス分けが十分でない場合、S228で再設定された重心C1C2C3は、前回設定されたものと異なるものとなる。クラス分け部22は、再度算出された重心C1C2C3が、前回のものから変化したか否かを判定するステップS230。当該判定は、完全に前回の重心C1C2C3した場合に変化なしと判定されてもよく、変化量が所定の範囲内となった場合に変化なしと判定されてもよい。S230において変化ありと判定された場合、更に好適にクラス分けをするため、S224~S230を再び繰返す。一方、S230において変化なしと判定された場合、クラス分け部22は、クラスの重心の絶対値の大きいものから順に、各クラスに属する太陽電池モジュールMの集合を、クラスα1、クラスα2、クラスα3として、記憶部29に記憶するステップS232。すなわち、クラス分け部22は、暫定的クラス名が付された各クラスα1α2α3の重心C1C2C3のうち、最も絶対値が大きくなるクラスを、クラスα1というクラス名に決定する。また、クラス分け部22は、暫定的クラス名が付された各クラスα1α2α3の重心C1C2C3のうち、次に絶対値が大きくなるクラスを、クラスα2というクラス名に決定する。また、クラス分け部22は、暫定的クラス名が付された各クラスα1α2α3の重心C1C2C3のうち、最も絶対値が小さくなるクラスを、クラスα3というクラス名に決定する。なお、ここでの重心C1の絶対値とは、座標の原点電流値=0電圧値=0の点と重心C1との距離である。重心C2C3についても同様である。図21に示す例では、S222~S230の処理中では、暫定的クラス名としてクラスα2の重心C2の絶対値が一番大きく、クラスα1の重心C1が次に大きいものとして、調整がなされていた。しかし、S232の処理により、図21bに示すように、元々重心C2を有するクラスα2とされていたクラスのクラス名は、クラスα1に決定され、重心C1を有するクラスα1とされていたクラスのクラス名は、クラスα2に決定される。これにより、クラスα1には最も出力が大きくなる太陽電池モジュールMが属し、クラスα3には最も出力が小さくなる太陽電池モジュールMが属し、クラスα2には中間の出力の太陽電池モジュールMが属することとなる。図16に戻り、モジュール調整部24は、クラス間のモジュール調整処理を実行するステップS204。当該調整処理では、各クラスで形成されるストリングの直列数を考慮して、各クラスのクラス分けの微調整が行われる。なお、以降の説明において、クラスα1の太陽電池モジュールMその出力ブロックBLを太陽電池モジュールM1出力ブロックBL1とし、クラスα2の太陽電池モジュールMその出力ブロックBLを太陽電池モジュールM2出力ブロックBL2とし、クラスα3の太陽電池モジュールMその出力ブロックBLを太陽電池モジュールM3出力ブロックBL3として説明する。なお、本実施形態でも、直列数S=5~7に設定されている。また、クラスα1内のモジュール数をm1とし、クラスα2内のモジュール数をm2とし、クラスα3内のモジュール数をm3とする。ここで、図18を参照して、クラス間のモジュール調整処理の詳細について説明する。図18に示すように、モジュール調整部24は、記憶部19から、クラス分け処理によって割り振られた各クラスα1α2α3の太陽電池モジュールMの集合を読み出すステップS240。モジュール調整部24は、クラスα1の直列数S1の初期値として5を設定するステップS242。次に、モジュール調整部24は、モジュール数m1/直列数S1の余りa1を算出するステップS244。また、モジュール調整部24は、余りa1が直列数S1の半分よりも小さいか否かを判定するステップS246。S246において、余りa1がS1/2より小さいと判定された場合、モジュール調整部24は、余りa1枚分の太陽電池モジュールM1をクラスα1からクラスα2に移動させ、他己相反度R1を求める処理を実行するステップS248。この場合は、クラスα1での余りが少なく、ストリングを形成するには、一つ下のクラスα2から多くの太陽電池モジュールM2を持ってくる必要があるため、余りをクラスα2へ移動しようとするものである。ここで、図19a及び図22を参照して、当該他己相反度R1を求める処理について説明する。なお他己相反度とは、あるクラスに割り振られた太陽電池モジュールを他のクラスに移動する場合に、当該移動モジュールが移動先の他の太陽電池モジュールまたは移動元の他の太陽電池モジュールからどの程度かけ離れているかを示すパラメータである。すなわち、当該移動によって移動先のクラスまたは移動元のクラスがどの程度影響を受けるかを示すパラメータである。ここでは、図19a中の記号には、枚数x=余りa1、i=1、j=2が代入される。図19aに示すように、モジュール調整部24は、モジュール数m1枚の太陽電池モジュールM1の全てk=12...m1の重心に対し、d1ffk=クラスα2の重心C2からの距離d2―クラスα1の重心C1からの距離d1を計算するステップS300。なお、図17でのクラス分け方法より、クラスα1の太陽電池モジュールM1の重心は、重心C2よりも重心C1に近くなるので、d1ffkは正の値となる。次に、モジュール調整部24は、d1ffkの小さなものから、余りa1枚分の太陽電池モジュールM1をクラスα1からクラスα2へ移動させる移動モジュールTMとして、記憶部29に記憶させるステップS302。図22の例では、出力が小さくて重心C2寄りになるものが、移動モジュールTMとして認定される。次に、モジュール調整部24は、移動モジュールTMとして記憶された余りa1枚のモジュールについて、d1ffkの合計値を計算し、当該合計値を他己相反度R1として取得するステップS304。一方、S246において、余りa1がS1/2以上であると判定された場合、モジュール調整部24は、直列数S1-余りa1枚分の太陽電池モジュールM2をクラスα2からクラスα1に移動させ、他己相反度R1を求める処理を実行するステップS250。この場合は、クラスα1での余りが多く、一つ下のクラスα2から少しの太陽電池モジュールM2を持ってくれば、ストリングを形成できるため、不足分をクラスα2からクラスα1へ移動しようとするものである。ここでは、図19a中の記号には、枚数x=直列数S1-余りa1、i=2、j=1が代入される。演算の手順はS248と同様である。次に、モジュール調整部24は、S248またはS250での処理結果に基づいて、クラスα1及びクラスα2のモジュールの再編成を行うステップS252。モジュール調整部24は、S248で移動モジュールTMと認定された太陽電池モジュールM1を、クラスα1からクラスα2へ移動させる。または、モジュール調整部24は、S250で移動モジュールTMと認定された太陽電池モジュールM2を、クラスα2からクラスα1へ移動させる。次に、モジュール調整部24は、クラスα2の直列数S2の初期値として5を設定するステップS254。次に、モジュール調整部24は、モジュール数m2/直列数S2の余りa2を算出するステップS256。また、モジュール調整部24は、余りa2が直列数S2の半分よりも小さいか否かを判定するステップS258。S258において、余りa2がS2/2より小さいと判定された場合、モジュール調整部24は、余りa2枚分の太陽電池モジュールM2をクラスα2からクラスα3に移動させ、他己相反度R2を求める処理を実行するステップS260。この場合は、クラスα2での余りが少なく、ストリングを形成するには、一つ下のクラスα3から多くの太陽電池モジュールM3を持ってくる必要があるため、余りをクラスα3へ移動しようとするものである。ここでは、図19a中の記号には、枚数x=余りa2、i=2、j=3が代入される。演算の手順はS248と同様である。一方、S258において、余りa2がS2/2以上であると判定された場合、モジュール調整部24は、直列数S2-余りa2枚分の太陽電池モジュールM3をクラスα3からクラスα2に移動させ、他己相反度R2を求める処理を実行するステップS262。この場合は、クラスα2での余りが多く、一つ下のクラスα3から少しの太陽電池モジュールM3を持ってくれば、ストリングを形成できるため、不足分をクラスα3からクラスα2へ移動しようとするものである。ここでは、図19a中の記号には、枚数x=直列数S2-余りa2、i=3、j=2が代入される。演算の手順はS248と同様である。次に、モジュール調整部24は、S260またはS262での処理結果に基づいて、クラスα2及びクラスα3のモジュールの再編成を行うステップS264。モジュール調整部24は、S260で移動モジュールTMと認定された太陽電池モジュールM2を、クラスα2からクラスα3へ移動させる。または、モジュール調整部24は、S262で移動モジュールTMと認定された太陽電池モジュールM3を、クラスα3からクラスα2へ移動させる。次に、モジュール調整部24は、クラスα3の直列数S3の初期値として5を設定するステップS266。次に、モジュール調整部24は、モジュール数m3/直列数S3の余りa3を算出するステップS268。また、モジュール調整部24は、余りa3枚分の太陽電池モジュールM3をクラスα3モジュール数m3から除く場合の、自己相反度R3を求める処理を実行するステップS270。クラスα3では、それより下のクラスが存在しないため、余ったモジュールは直ちに除かれる。ここで、図19bを参照して、当該自己相反度R3を求める処理について説明する。なお自己相反度とは、クラスα3からモジュールを取り除く場合に、当該モジュールを取り除くことによってクラスα3がどの程度影響を受けるかを示すパラメータである。図19b中の記号には、枚数x=余りa3が代入される。図19bに示すように、モジュール調整部24は、クラスα3に属する太陽電池モジュールM3のうち、パラメータの絶対値例えば図22に示すように、太陽電池モジュールM3の右上点Gと、電流値=0、電圧値=0の原点との距離が最も小さい余りa3枚を、クラスα3から取り除く移動モジュールTMとして、記憶部29に記憶させるステップS306。次に、モジュール調整部24は、余り3a枚分の移動モジュールTMについて、パラメータの絶対値の合計を算出し、自己相反度R3として取得するステップS308。図18に戻り、モジュール調整部24は、直列数S1S2S3に対する相反度R=R1R2R3を演算し、当該相反度Rと共にそのときの各クラスのモジュール数m1m2m3を記憶部29に記憶させるステップS272。次に、モジュール調整部24は、クラスα3の直列数S3に1を加算するステップS274。また、モジュール調整部24は、直列数S3が7より大きくなったか否かを判定するステップS276。直列数S3が7以下の場合は、再びS268~S276の処理が繰返される。これにより、直列数S1=5、直列数S2=5であって、直列数S3=567の全てのパターンでの相反度Rとモジュール数m1m2m3が記憶される。直列数S3が7より大きい場合は、モジュール調整部24は、クラスα2の直列数S2に1を加算するステップS278。また、モジュール調整部24は、直列数S2が7より大きくなったか否かを判定するステップS280。直列数S2が7以下の場合、モジュール調整部24は、クラスα2α3のモジュール構成をS252のものにリセットするステップS282。その後、再びS256~S280の処理が繰返される。これにより、直列数S1=5であって、直列数S2=567、直列数S3=567の全てのパターンでの相反度Rとモジュール数m1m2m3が記憶される。直列数S1が7より大きい場合は、モジュール調整部24は、クラスα1の直列数S1に1を加算するステップS284。また、モジュール調整部24は、直列数S1が7より大きくなったか否かを判定するステップS286。直列数S2が7以下の場合、モジュール調整部24は、クラスα1α2α3のモジュール構成をクラス分け処理時のものすなわち図18の処理の開始時のものにリセットするステップS288。その後、再びS244~S286の処理が繰返される。これにより、直列数S1=567、直列数S2=567、直列数S3=567の全てのパターンでの相反度Rとモジュール数m1m2m3が記憶される。直列数S1S2S3の全てのパターンでの演算が終了すると、モジュール調整部24は、相反度Rが最小となっているときの、直列数S1S2S3及び各クラスα1α2α3のモジュールの集合をストリング形成のための条件として取得し、当該結果を返す。ステップS290。図16に戻り、処理部28は、ストリングを形成するクラスをα=1に設定するステップS206。ストリング形成部23は、1番目のクラス、すなわちクラスα1についてのストリング形成処理を実行するステップS208。図20を参照して、所定のクラスのストリング形成処理の詳細について説明する。図20に示すように、ストリング形成部23は、クラスα1の直列数S1と、当該クラスα1の太陽電池モジュールM1の集合図18のS290で記憶させた結果を、記憶部29から読み出すステップS310。ストリング形成部23は、クラスα1に属する太陽電池モジュールM1を電流値の降順にソートするステップS312。ここでは、電圧値は考慮せず、電流値のみを考慮する。ストリング形成部23は、電流値の大きい方から順に太陽電池モジュールM1を選択し、直列数S1のストリングを形成するステップS314。また、ストリング形成部23は、クラスα1内のストリングSTのストリング数βを算出するステップS316。また、ストリング形成部23は、各ストリングSTを電流値の昇順にソートするステップS318。これによって、図23aに示すようなアレイA1が形成され、図23bに示すような出力アセンブリAL1が形成される。図23aに示すアレイA1は、図中にDRで示す矢印の方向に向かって、電流値の高いものから順に太陽電池モジュールM1が並べられている。電流値の低いものから順に、直列数S1のストリングST1ST2...STβ―1STβが形成される。また、図23bに示すように、下からのストリングST1ST2...STβ―1STβ順で出力ブロックBL1が積まれ、出力アセンブリAL1が形成される。なお、この段階では、電流値のみを考慮し電圧値が考慮されていないため、各ストリングSTの合計電圧値は揃っていない。次に、ストリング形成部23は、最も電流値の低いストリングST1を読み出すステップS320。ストリング形成部23は、ストリングST1の各太陽電池モジュールM1出力ブロックBL1を、他のストリングST2~STβの太陽電池モジュールM1出力ブロックBL1と入れ替えた後、クラスα1内の各ストリングSTを並列接続した場合のアレイA1の出力を算出し、出力が最大化されたかどうかの判断を行うステップS322。例えば図23に示すように、ストリングST1の何れかの太陽電池モジュールM1出力ブロックBL1を他のストリングSTの何れかの太陽電池モジュールM1出力ブロックBL1と交換し、再構成されたアレイA1での出力を算出する。また、当該再構築によって最大出力が向上したかの判断を行う。次に、ストリング形成部23は、モジュール入れ替えの効果が無くなったか否かを判定するステップS324。すなわち、あらゆるパターンでモジュール入れ替えを行い、これ以上再構築してもアレイA1の出力を大きくすることができないと判断された場合に、モジュール入れ替えの効果が無くなったと判定される。S324において、モジュール入れ替えにより出力の向上が見られた場合は、再びS322にて他の入れ替えパターンを実行し、より出力を大きくできる組み合わせを形成する。一方、S324において、モジュール入れ替えの効果が無くなったと判定された場合、ストリング形成部23は、クラスα1のストリングST1に属する太陽電池モジュールM1を確定し、記憶部29に記憶させる。その後、ストリング形成部23は、ストリング番号iがβ―1になったか否かを判定するステップS328。すなわち、ストリング形成部23は、全てのストリングSTについて太陽電池モジュールM1が確定したかを判定するなお、電流値が一番大きいストリングSTβについては、入れ替える対象となるストリングがないため、モジュール入れ替えを行わない。S328においてストリング番号iがβ―1になっていないと判定されると、ストリング形成部23は、ストリングの番号iに1を加算しステップS330、S322~S328の処理を繰返す。このとき、既に確定したストリングSTの太陽電池モジュールM1出力ブロックBL1は、モジュール入れ替えに用いられない。S328においてストリング番号iがβ―1になったと判定されたら、全てのストリングSTの太陽電池モジュールM1の構成が確定したとして、図20の処理が終了する。図16に戻り、処理部28は、クラスがα=3であるか否かを判定するステップS210。すなわち、全てのクラスについてストリング形成処理が完了したか否かを判定する。S210においてα=3でないと判定されると、αに1を加算し、S208を繰り返し、次のクラスについてストリング形成処理を行う。これによって、クラスα2及びクラスα3についてのストリングSTが形成される。以上のように、各クラスのそれぞれについて、最大出力を大きくできるような結線パターンが形成される。結線パターン選択部27は、各クラスα1α2α3の太陽電池モジュールMの接続形態を採用すべきアレイAの結線パターンとして選択し、記憶部29に記憶させるステップS214。結線パターン選択部27は、クラスα1について確定された各ストリングSTと、クラスα2について確定された各ストリングSTと、クラスα3について確定された各ストリングSTと、を並列に接続したものを、アレイAの結線パターンとして選択する。S214の処理が完了したら、採用すべき結線パターンが決定し、図16の処理が終了する。次に、本実施形態の作用効果について説明する。演算装置20によれば、各太陽電池モジュールMの電流値を含むパラメータに基づいて、クラス分け部22が太陽電池モジュールMのクラス分けを行っている。すなわち、太陽電池モジュールMの数が増加した場合であっても、クラス分けを行うことによって、各クラスでの結線パターンの最適化を行うことが可能であるため、多数の太陽電池モジュールの結線パターンをまとめて演算する場合に比して、演算の負荷を低減することができる。これによって、効率よく結線パターンを選択することで演算の負荷を低減しつつ発電性能を向上できる。また、クラス分け部22は、パラメータが近い太陽電池モジュールM同士を同じクラスに分ける。これによって、各クラス内で特性が似たもの同士でストリングST、アレイAを構成することが可能となり、結線パターンの最適化が行い易くなると共に、各太陽電池モジュールMの出力も無駄なく有効に利用できる結線パターンを形成し易くなる。演算装置20によれば、パラメータの大きい太陽電池モジュールMのみでクラスα1のストリングSTを形成し、パラメータの小さい太陽電池モジュールのみで下位のクラスα2α3のストリングSTを形成することが可能となる。これにより、パラメータが近いもの同士を直列接続して各ストリングSTを形成すればよいのでクラスごとの結線パターンの最適化が行い易くなる。更に、各ストリングST内でのモジュール間の電流差が少ないために、各ストリングSTを並列接続して形成されるアレイの最大出力を大きくし易くなる。すなわち、例えば図13に示すような歪な出力アセンブリALではなく、四角形に近い出力アセンブリALを形成し易くなり、最大出力動作点Pmaxを大きくし易くなる。更に、クラスα1のストリングSTによって形成されるアレイクラスα1の出力アセンブリALの最大出力に基づいて、当該クラスα1のストリングSTを形成し、クラスα2のストリングSTによって形成されるアレイクラスα2の出力アセンブリALの最大出力に基づいて、当該クラスα2のストリングSTを形成し、クラスα3のストリングSTによって形成されるアレイクラスα3の出力アセンブリALの最大出力に基づいて、当該クラスα3のストリングSTを形成するため、それぞれのクラスで独立にアレイの結線パターンを最適化すればよく、演算の負荷を低減することができる。また、本実施形態では、電流値に基づいてクラス分けした後で、クラスごとにアレイが構成される。クラスごとにパワーコンディショナー3を設け、クラスごとにアレイを形成することで、クラス同士の電圧の差を考慮する必要がなく、簡単に結線パターンを選択することができる。また、ストリング形成部23は、クラスα1に属する太陽電池モジュールM1を電流値の順番に並べることによってクラスα1のストリングSTを形成し、クラスα2に属する太陽電池モジュールM2を電流値の順番に並べることによってクラスα2のストリングSTを形成し、クラスα3に属する太陽電池モジュールM3を電流値の順番に並べることによってクラスα3のストリングSTを形成している。単に太陽電池モジュールMを電流値の順番に並べればよいだけなので、容易に各ストリングSTを形成することができる。一方で、順番に並べられることで、各ストリングSTでは太陽電池モジュールM間の電流差が小さくなるため、アレイAの最大出力を大きくし易くなる。[第3実施形態]第3実施形態に係る演算装置、太陽光発電システム及び太陽光発電を最適化する方法について説明する。第3実施形態では、日影の影響による各太陽電池モジュールの電流値のみならず電圧値の変化も考慮している点、擬似モジュールVMを並列接続のみならず直列接続も用いて形成する点で、主に第1実施形態と異なっている。図24に示すように、太陽光発電システム300は、演算装置30と、発電装置2と、パワーコンディショナー3と、を備えている。発電装置2の構成は第1実施形態と同様である。パワーコンディショナー3は、発電装置2に対して一個設けられている。演算装置30は、パラメータ取得部31と、クラス分け部32と、ストリング形成部33と、擬似モジュール形成部34と、結線パターン選択部37と、処理部38と、記憶部39と、を備えている。パラメータ取得部31は、検出部4の出力を受信することにより、各太陽電池モジュールMから少なくとも電流値及び電圧値を含むパラメータを取得する機能を有している。クラス分け部32は、パラメータに基づいて、各太陽電池モジュールMをクラス分けする機能を有している。また、クラス分け部32は、パラメータが近い太陽電池モジュールM同士を同じクラスに分ける機能を有し、具体的には、電流値が高いクラスと、電流値が低いクラスとに分ける機能を有している。本実施形態では最も電流が高いクラスα1と、中間のクラスα2と、電流が最も低いクラスα3の三クラスに分けているが、更に多数のクラスに分けてよい。なお、クラス分けにあたって、クラスの数に予め制約を設けておいてもよく、クラス内の太陽電池モジュールMの数に予め制約を設けておいてもよい。それにより、クラス内に含まれる太陽電池モジュールMの枚数を一定範囲内に収めることができ、演算の負荷を低減できる。ストリング形成部33は、クラスごとに太陽電池モジュールMのストリングを形成する機能を有している。ストリング形成部33は、一のクラスに属する太陽電池モジュールMのみを直列接続させたストリングST第1のストリングと、それより一つ下位のクラスに属する太陽電池モジュールMのみを直列接続させたストリングST第2のストリングと、上位のクラスに属する太陽電池モジュールのあまりモジュールEM、及び一つ下位のクラスに属する太陽電池モジュールMによって構成される擬似モジュールVMを直列接続させたストリングST第3のストリングと、を形成可能である。なお、ストリング形成部33は、各クラスの太陽電池モジュールMの枚数によって、三種類のストリングSTを全て形成する場合もあれば、三つのうちの何れか二つのみのストリングを形成する場合、三つのうちの何れか一つのみのストリングを形成する場合もある。ストリング形成部33は、クラスα1について設定された直列数に基づいて、クラスα1に属する太陽電池モジュールMを直列接続し、あまりモジュールEMを含むストリングSTについては、直列数に満たない数のあまりモジュールEMを擬似モジュールVMで補うことによって形成される。この直列数は、パワーコンディショナー3の許容電圧などによって一定範囲の数例えば5~7を設定することが可能であり、ストリング形成部33は、各直列数に応じたストリングSTを形成できる。下位のクラスα2α3については、クラスα1のストリングSTの合計電圧に基づいてストリングSTが形成される。また、ストリング形成部33は、一のクラスに属する太陽電池モジュールMを電流値の順番に並べることによって各ストリングを形成し、一つ下位のクラスに属する太陽電池モジュールMのうち、擬似モジュールVMに用いられないものを、電流値の順番に並べることによってストリングSTを形成する機能を有している。擬似モジュール形成部34は、一のクラスに属する太陽電池モジュールMのパラメータ電流値及び電圧値に基づいて、一つ下位のクラスに属する複数の太陽電池モジュールMを並列接続また、必要に応じて直列接続することによって擬似モジュールVMを形成する機能を有している。結線パターン選択部37は、クラス分けに基づいて、結線パターンを選択する機能を有しており、太陽電池モジュールMの結線によって構成されるアレイAの最大出力が最大となるように、結線パターンを選択する機能を有している。処理部38は、上述の各部31~37で行われる処理以外の処理を実行する機能を有している。記憶部39は、各種情報を記憶する機能を有している。次に、図25~図31を参照して、演算装置30の具体的な演算処理の内容について説明する。図25は、演算装置30が太陽電池モジュールの最適な結線パターンを選択する際に実行される処理内容を示すフローチャートである。図25の処理は、図2と同様に、結線パターンを選択する際に、所定のタイミングで実行される。図26~図28は、図25の各処理の具体的内容を示すフローチャートである。本実施形態に係る制御処理では、日影の太陽電池モジュールMが、電流電圧共に変化するものとして演算を行う。また、図25に示す制御処理の例では、各太陽電池モジュールMを三つのクラスα=123に分けるものとする。図25に示すように、パラメータ取得部31は、各太陽電池モジュールMの電流値及び電圧値を取得するステップS400。次に、クラス分け部32は、S400で取得された電流値電圧値に基づいて、各太陽電池モジュールMのクラス分け処理を実行するステップS402。クラス分け部32は、複数の太陽電池モジュールMを、クラスα=1最も日向のクラスとクラスα=2中間のクラスとクラスα=3最も日影のクラスとに分ける。S402のクラス分けでは、例えば第2実施形態の図17で説明したようなK-means法を用いてクラス分けすることができる。S402で三つにクラス分けした後、クラス内の太陽電池モジュールMの平均出力Wが高いものから順に、クラスα1、クラスα2、クラスα3とするステップS404。次に、処理部38は、クラスα1の平均電圧値と、パワーコンディショナー3の許容電圧に基づいて、クラスα1の許容直列数S1を決定するステップS406。ここでは、S1=5~7に設定されるものとする。次に、処理部38は、クラスα1の直列数S1として初期値である5を設定するステップS408。次に、ストリング形成部33は、クラスα1のストリング形成処理を実行するステップS410。図26を参照して、クラスα1のストリング形成処理の詳細について説明する。図26に示すように、ストリング形成部33は、クラスα1の直列数S1と、当該クラスα1の太陽電池モジュールM1の集合を、記憶部39から読み出すステップS450。ストリング形成部33は、クラスα1に属する太陽電池モジュールM1を電流値の降順にソートするステップS452。ここでは、電圧値は考慮せず、電流値のみを考慮する。ストリング形成部33は、電流値の大きい方から順に太陽電池モジュールM1を選択し、直列数S1のストリングを形成するステップS454。ここで、あまりモジュールがあった場合、ストリング形成部33は、当該モジュールをあまりモジュールEMとして記憶部39に記憶させ、クラスα1から除くステップS456。また、ストリング形成部23は、クラスα1内のストリングSTのストリング数βを算出するステップS458。また、ストリング形成部33は、各ストリングSTを電流値の昇順にソートするステップS460。これによって、第2実施形態でのストリング形成処理と同様に、図23aに示すようなアレイA1が形成され、図23bに示すような出力アセンブリAL1が形成される。次に、ストリング形成部33は、最も電流値の低いストリングST1を読み出すステップS462。ストリング形成部33は、ストリングST1の各太陽電池モジュールM1出力ブロックBL1を、他のストリングST2~STβの太陽電池モジュールM1出力ブロックBL1と入れ替えた後、クラスα1内の各ストリングを並列接続した場合のアレイA1の出力を算出し、出力が最大化されたかどうかの判断を行うステップS464。例えば図23に示すように、ストリングST1の何れかの太陽電池モジュールM1出力ブロックBL1を他のストリングSTの何れかの太陽電池モジュールM1出力ブロックBL1と交換し、再構成されたアレイA1での出力を算出する。また、当該再構築によって最大出力が向上したかの判断を行う。次に、ストリング形成部23は、モジュール入れ替えの効果が無くなったか否かを判定するステップS466。すなわち、あらゆるパターンでモジュール入れ替えを行い、これ以上再構築してもアレイA1の出力を大きくすることができないと判断された場合に、モジュール入れ替えの効果が無くなったと判定される。S466において、モジュール入れ替えにより出力の向上が見られた場合は、再びS464にて他の入れ替えパターンを実行し、より出力を大きくできる組み合わせを形成する。一方、S466において、モジュール入れ替えの効果が無くなったと判定された場合、ストリング形成部33は、当該組み合わせに係るストリングSTを、クラスα1における完成ストリングSTCPとして確定し、記憶部39に記憶させるステップS468。その後、ストリング形成部33は、ストリング番号iがβ―1になったか否かを判定するステップS470。すなわち、ストリング形成部33は、全てのストリングSTについて太陽電池モジュールM1が確定したかを判定するなお、電流値が一番大きいストリングSTβについては、入れ替える対象となるストリングがないため、モジュール入れ替えを行わない。S470においてストリング番号iがβ―1になっていないと判定されると、ストリング形成部23は、ストリングの番号iに1を加算しステップS472、S464~S470の処理を繰返す。このとき、既に確定したストリングSTの太陽電池モジュールM1出力ブロックBL1は、モジュール入れ替えに用いられない。S470においてストリング番号iがβ―1になったと判定されたら、全てのストリングSTの太陽電池モジュールM1の構成が確定したとして、図26の処理が終了する。図25に戻り、処理部38は、クラスα1においてストリングSTが最低一本でも形成できたか否かを判定するステップS412。クラスα1に属する太陽電池モジュールM1が少なすぎることで、ストリングSTが一本も形成できず、S412において形成できないと判定されると、処理部38は、クラスα2に属する全ての太陽電池モジュールM2をクラスα1に移動するステップS414。また、処理部38は、クラスα3に属する全ての太陽電池モジュールM3をクラスα2に移動するステップS416。その後、再びS410及びS412の処理が実行される。処理部38は、クラスα1の全てのストリングSTの電圧ストリングST中の各出力ブロックBLの電圧値の合計のうち、最低電圧をストリング最低電圧Vminとして、記憶部39に記憶させるステップS418。処理部38は、図26のS456で記憶された情報を参照し、クラスα1にあまりモジュールEMがあるか否かを判定するステップS420。S420においてあまりモジュールEMがあると判定された場合、擬似モジュール形成部34は擬似モジュール形成処理を実行しステップS422、あまりモジュールEMが無いと判定された場合、S422の処理はスキップされてS424の処理へ移行する。図28を参照して、擬似モジュール形成処理の詳細な内容について説明する。擬似モジュール形成部34は、図25のS418にて記憶された最低電圧Vminと、クラスα1のあまりモジュールEMの合計電圧との差として、最低補電圧Vcomを算出するステップS500。この最低補電圧Vcomは、あまりモジュールEMを用いてストリングを形成する場合に、少なくとも最低電圧Vminまで電圧を確保するのに最低限度補うべき電圧である。擬似モジュール形成部34は、クラスα1におけるあまりモジュールEMの平均電流Ioを算出するステップS502。次に、擬似モジュール形成部34は、クラスα1の下位のクラスα2の太陽電池モジュールM2の合計電圧が最低補電圧Vcom以上であるか否かを判定するステップS504。一段下位のクラスα2の太陽電池モジュールM2では、そもそも最低補電圧Vcomを確保することができず、S504において合計電圧が最低補電圧Vcomより小さいと判定されたら、擬似モジュールVMを形成することなく図28の処理は終了する。なお、擬似モジュールVMを形成できない場合、あまりモジュールEMは、下位のクラスα2へ移動する。一方、S504において合計電圧が最低補電圧Vcom以上であると判定されると、擬似モジュール形成部34は、クラスα2の太陽電池モジュールM2を用いて擬似モジュールVMを形成するステップS506。具体的には、擬似モジュール形成部34は、クラスα2の中から太陽電池モジュールM2出力ブロックBL2を選択し、直列、並列に組み合わせて次の条件を満たす組み合わせを探索する。探索すべき組み合わせの条件は、最低補電圧Vcom≦擬似モジュールの電圧Vを満たすと共に、VcomIoからの距離が最短となるような頂点VIを持つを満たすことである。例えば図30aに示すように、太陽電池モジュールM2出力ブロックBL2の組み合わせによって形成される擬似モジュールVMは右上角部に頂点VIを持っている。この擬似モジュールVMの電圧Vは、最低補電圧Vcom以上となっており、頂点VIは出来る限りVcomIoに近くに設定される。なお、図30bに示すように、VcomIoと一致するような頂点VIを持つ組み合わせがあった場合は、当該組み合わせが直ちに採用される。擬似モジュール形成部34は、組み合わせが見つかったら当該結果を記憶部39に記憶させる。このようにして形成された擬似モジュールVMは、あまりモジュールEMと直列接続され例えば図29参照、一つの完成ストリングSTCPとして記憶される。擬似モジュール形成部34は、擬似モジュールの作成に用いられた太陽電池モジュールM2を、下位のクラスα2から取り除くステップS508。S508の処理が完了すると、図28に示す処理が終了する。図25に戻り、S410~S422の処理が完了すると、直列数S1=5におけるクラスα1の完成ストリングSTCPが確定する。その後、クラスα2における完成ストリングSTCPの形成がなされる。ストリング形成部33は、クラスα2のストリング形成処理を実行するステップS424。図27を参照して、クラスα2のストリング形成処理の詳細な内容を説明する。クラスα2では、ストリングSTの直列数を設定するのではなく、クラスα1の完成ストリングSTCPの最低電圧Vminに基づいて、ストリングSTが形成される。すなわち、図29に示すように、ストリング形成部33は、太陽電池モジュールM出力ブロックBLの集合の中から一つずつワークスペースの座標に積んで完成ストリングSTCPを形成する。また、ストリング形成部23は、あまりモジュールEMがある場合は、クラスα3の太陽電池モジュールMで擬似モジュールVMを形成し、完成ストリングSTCPを完成させる。まず、ストリング形成部33は、クラスα2内の完成ストリングSTCPを0本の初期化しステップS480、途上ストリングSTDPのモジュールを0枚に初期化するステップS482。次に、ストリング形成部33は、クラスα2に太陽電池モジュールM2が無く、空になっているか否かを判定するステップS484。空になっている場合は、S492の処理へ移行する。一方、S484において空になっていないと判定されると、ストリング形成部33は、クラスα2の中の太陽電池モジュールM2のうち、電流値が最も高いものを途上ストリングSTDPに移動するステップS486。図29に示すように、ストリング形成部33は、クラスα2に残っている太陽電池モジュールM2の中から一番電流値が高いものをワークスペースへ移動し、座標上で作成途中にある途上ストリングSTDPに直列に接続する。ストリング形成部33は、途上ストリングSTDPの合計電圧が最低電圧Vminより小さいか否かを判定するステップS488。すなわち、図29に示すように、途上ストリングSTDPの電圧が最低電圧Vminのラインを超えているか否かを判定する。S488において合計電圧が最低電圧Vminより小さいと判定されると、再びS484~S488の処理が繰返され、途上ストリングSTDPに新たな太陽電池モジュールM2が追加される。一方、S488において合計電圧が最低電圧Vmin以上になったと判定されると、ストリング形成部33は、ワークスペース中の途上ストリングSTDPを、完成ストリングSTCPの記憶エリア図29参照に追加するステップS490。その後、S482が実行されてワークスペースが初期化された後、S484~S490の処理が繰返されて、複数の完成ストリングSTCPが形成される。ある程度の本数の完成ストリングSTCPが形成されると、クラスα2の残りの太陽電池モジュールM2が少なくなる。この場合、最後の一本の完成ストリングSTCPを形成した直後にクラスα2が空になるS490→S484:YESか、あるいは途上ストリングSTDPの合計電圧が最低電圧Vminを超える前にクラスα2が空になるS488→S484:YES。クラスα2が空になった後、ストリング形成部33は、途上ストリングSTDP中の太陽電池モジュールMが0枚であるか否かを判定するステップS492。すなわち、ワークスペースに太陽電池モジュールMを残した状態でクラスα2が空になったのか、ワークスペースに何も残さずにクラスα2が空になったのかが判定される。S492において0枚であると判定された場合、ストリング形成部33は、クラスα2にはあまりモジュールEMが無いとして、あまりモジュールの記憶エリア図29参照を空にするステップS494。一方、S492において0枚でないと判定された場合、途上ストリングSTDPに含まれる太陽電池モジュールMを、あまりモジュールEMとして記憶部39に記憶させるステップS496。以上により、ストリング形成部33は、全ての完成ストリングSTCPモジュールの組み合わせと、あまりモジュールEMを返すステップS498。S498の処理が完了すると、図27の処理が終了する。図25に戻り、ストリング形成部33は、あまりモジュールEMがあるか否かを判定するステップS426。S426においてあまりモジュールEMがあると判定された場合、擬似モジュール形成部34は擬似モジュール形成処理を実行しステップS428、あまりモジュールEMが無いと判定された場合、S428の処理はスキップされてS430の処理へ移行する。クラスα2における擬似モジュール形成処理は、前述のクラスα1における擬似モジュール形成処理と同様の処理がなされる。ここでは、クラスα3の太陽電池モジュールM3を用いて擬似モジュールVMが形成される。擬似モジュールVMは、あまりモジュールEMと直列接続され、一つの完成ストリングSTCPとして記憶される。S424~S428の処理が完了すると、直列数S1=5におけるクラスα2の完成ストリングSTCPが確定する。その後、クラスα3における完成ストリングSTCPの形成がなされる。ストリング形成部33は、クラスα3のストリング形成処理を実行するステップS430。クラスα3におけるストリング形成処理は、前述のクラスα2におけるストリング形成処理と同様の処理がなされる。ストリング形成部33は、あまりモジュールEMがあるか否かを判定するステップS432。S432においてあまりモジュールEMがあると判定された場合、ストリング形成部33は、クラスα3よりも下位のクラスが無く、擬似モジュールを形成することができないので、クラスα3のあまりモジュールEMを不使用としステップS434、あまりモジュールEMが無いと判定された場合、S434の処理はスキップされてS436の処理へ移行する。S430~S434の処理が完了すると、直列数S1=5におけるクラスα3の完成ストリングSTCPが確定する。ストリング形成部33は、クラスα1α2α3の各完成ストリングSTCPを全て並列に接続してアレイAを形成し、当該直列数S1における最大出力動作点Pmaxを算出し、全ての完成ストリングSTCPと共に記憶部39に記憶させるステップS436。次に、処理部38は、直列数S1が7であるか否かを判定するステップS438。S438において直列数S1が7でないと判定されると、直列数S1に1が加算されステップS440、新たな直列数S1にてS410~S438の処理が繰返される。これによって、直列数S1=67における最大出力動作点Pmaxと、その時の完成ストリングSTCPが記憶部39に記憶される。一方、S438において直列数S1が7であると判定されると、結線パターン選択部37は、直列数S1=567のそれぞれの最大出力動作点Pmaxを比較し、最大出力動作点Pmaxが最大となるときの直列数S1での全ての完成ストリングSTCPを返すステップS442。結線パターン選択部37は、当該直列数S1での各クラスの完成ストリングSTCPを並列接続したものを、採用すべきアレイAの結線パターンとして選択する。S442の処理が完了したら、採用すべき結線パターンが決定し、図25の処理が終了する。次に、本実施形態の作用効果について説明する。演算装置30によれば、各太陽電池モジュールMの電流値及び電圧値を含むパラメータに基づいて、クラス分け部32が太陽電池モジュールMのクラス分けを行っている。すなわち、太陽電池モジュールMの数が増加した場合であっても、クラス分けを行うことによって、各クラスでの結線パターンの最適化を行うことが可能であるため、多数の太陽電池モジュールの結線パターンをまとめて演算する場合に比して、演算の負荷を低減することができる。これによって、効率よく結線パターンを選択することで演算の負荷を低減しつつ発電性能を向上できる。また、クラス分け部32は、パラメータが近い太陽電池モジュールM同士を同じクラスに分ける。これによって、各クラス内で特性が似たもの同士でストリングST、アレイAを構成することが可能となり、結線パターンの最適化が行い易くなると共に、各太陽電池モジュールMの出力も無駄なく有効に利用できる結線パターンを形成し易くなる。また、演算装置30によれば、パラメータが大きい太陽電池モジュールMのみでクラスα1のストリングSTを形成し、パラメータが小さい太陽電池モジュールMのみでクラスα2α3のストリングSTを形成することが可能となる。これにより、パラメータが近いもの同士を直列接続して各ストリングSTを形成すればよいのでクラスごとの結線パターンの最適化が行い易くなる。更に、各ストリングST内でのモジュール間の電流差が少ないために、各ストリングを並列接続して形成されるアレイの最大出力を大きくし易くなる。すなわち、例えば図13に示すような歪な出力アセンブリALではなく、四角形に近い出力アセンブリALを形成し易くなり、最大出力動作点Pmaxを大きくし易くなる。更に、擬似モジュールVMを用いることによって、日向クラスのストリングST相当の電流値を得られるストリングSTを形成することができるため、全ての太陽電池モジュールMを無駄なく利用することができる。また、本実施形態では、パラメータ電流、電圧に基づいてクラス分けした後で、電圧が揃うようにクラスごとにサブアレイが形成され、各サブアレイを並列に接続して一つのアレイが構成される。各ストリングの電圧を近づけるようにクラスごとにアレイを形成することで、簡単に結線パターンを選択することができる。また、本実施形態では、パワーコンディショナー3が発電装置2に対して一個でよい。また、ストリング形成部33は、クラスα1のストリングSTに対して設定された直列数S1に基づいて、クラスα1に属する太陽電池モジュールMを直列接続し、あまりモジュールEMを含むストリングSTは、直列数Sに満たない数のあまりモジュールEMを擬似モジュールVMで補うことによって形成される。クラスα2のあまりモジュールEMもクラスα3からの擬似モジュールVMで補うことができる。このように、あまりモジュールEMがあっても、擬似モジュールVMで補うことができるため、あまりモジュールEMが無駄になることを防止し、アレイ出力に寄与させることができる。また、結線パターン選択部27は、各直列数S1において各ストリングSTを並列接続させて形成されるアレイAのうち、アレイAの最大出力が最も大きくなるときの直列数S1に係る結線パターンを選択する。ストリングSTの直列数S1を変更するだけで複数パターンの結線パターンの候補を作成でき、その中で最適な直列数S1を選べばよいだけなので、演算の負荷を極めて低減できる一方、発電効率を向上することができる。また、ストリング形成部33は、クラスα1に属する太陽電池モジュールMを電流値の順番に並べることによって各ストリングSTを形成し、クラスα2に属する太陽電池モジュールMのうち、擬似モジュールVMに用いられないものを、電流値の順番に並べることによってクラスα2のストリングSTを形成し、クラスα3に属する太陽電池モジュールMのうち、擬似モジュールVMに用いられないものを、電流値の順番に並べることによってクラスα3のストリングSTを形成する。単に太陽電池モジュールMを電流値の順番に並べればよいだけなので、容易に各ストリングSTを形成することができる。一方で、順番に並べられることで、各ストリングSTでは太陽電池モジュールM間の電流差が小さくなるため、アレイAの最大出力を大きくし易くなる。[第4実施形態]第4実施形態に係る発明は、図1に示すように、演算装置1を備えた太陽光発電シミュレーションシステム101である。太陽光発電シミュレーションシステム101では、発電装置2は、演算装置1または別の演算装置の内部で生成される仮想的に設定された装置である。すなわち、太陽電池モジュールMは、ソフト上で仮想的に設定されるものである。太陽光発電シミュレーションシステム101の演算装置1は、第1の実施形態に係る演算装置1と同様な構成を有し、同様な演算処理を行うことができる。当該太陽光発電シミュレーションシステム101で最適な結線パターンを選択し、実際の太陽光発電システムの太陽電池モジュールを結線する作業に際し、当該最適化された結線パターンを採用することができる。[第5実施形態]第5実施形態に係る発明は、図15に示すように、演算装置20を備えた太陽光発電シミュレーションシステム201である。太陽光発電シミュレーションシステム201では、発電装置2は、演算装置20または別の演算装置の内部で生成される仮想的に設定された装置である。すなわち、太陽電池モジュールMは、ソフト上で仮想的に設定されるものである。太陽光発電シミュレーションシステム201の演算装置20は、第2の実施形態に係る演算装置20と同様な構成を有し、同様な演算処理を行うことができる。当該太陽光発電シミュレーションシステム201で最適な結線パターンを選択し、実際の太陽光発電システムの太陽電池モジュールを結線する作業に際し、当該最適化された結線パターンを採用することができる。[第6実施形態]第6実施形態に係る発明は、図24に示すように、演算装置30を備えた太陽光発電シミュレーションシステム301である。太陽光発電シミュレーションシステム301では、発電装置2は、演算装置30または別の演算装置の内部で生成される仮想的に設定された装置である。すなわち、太陽電池モジュールMは、ソフト上で仮想的に設定されるものである。太陽光発電シミュレーションシステム301の演算装置30は、第3の実施形態に係る演算装置30と同様な構成を有し、同様な演算処理を行うことができる。当該太陽光発電シミュレーションシステム301で最適な結線パターンを選択し、実際の太陽光発電システムの太陽電池モジュールを結線する作業に際し、当該最適化された結線パターンを採用することができる。本発明は上述の実施形態に限定されるものではない。例えば第1実施形態では2つのクラスに分け、第2実施形態及び第3実施形態では、3つのクラスに分ける場合を例にして説明したが、クラス分けの数は特に限定されず、より多く第23実施形態を2つのクラスとしてもよいのクラスに分けてもよい。また、好適なクラス数を決定するための処理を行ってもよい。例えば、図31に示すような処理を行ってもよい。まず、クラス分け部は、全ての太陽電池モジュールMの出力ブロックBLの重心電流、電圧を算出するステップS600。次に、クラス分け部は、前記重心からの距離を全ての太陽電池モジュールMの重心について演算し、当該距離の和を求め、D1として記憶部に記憶させるステップS602。次に、クラス分け部は、クラス数CNの初期値として2を設定するステップS604。クラス分け部は、CN=2個のクラスにクラス分け処理をするステップS606。次に、クラス分け部は、全ての太陽電池モジュールMについて、当該太陽電池モジュールMの重心と所属するクラスの重心との距離を算出し、当該距離を全モジュールに亘って合計し、当該合計値をDCNとして記憶するステップS608。クラス分け部は、CNが太陽電池モジュールMのモジュール数Nに至ったか否かを判定するステップS610。S610で至っていないと判定されると、CNに1を加算し、S606~S610の処理を繰返す。S610で至ったと判定されると、クラス分け部は、D1-D2、D2-D3、D3-D4、...Di-1-Di...DN-1-DNの中で最大のものを求め、そのときのiを採用すべきクラス数として返すステップS614。各太陽電池モジュールの出力ブロックの重心電流、電圧の、クラスの重心からの距離は、クラス数を増加させることによって減少する。他方、適切な数を超えて多数のクラスに分離しても、演算負荷は大きくなるのに対して、距離はあまり減少しなくなる。図31の処理では、重心からの距離ズレを縦軸に設定し、クラス数を縦軸に設定したときに、最も大幅にズレが減少したときのクラス数をD1-D2、D2-D3、D3-D4、...Di-1-Di...DN-1-DNの中で、値が最大となるものにおけるクラス数i、適切なクラス数として採用することができる。また、上述の実施形態では、パワーコンディショナー3の許容電圧から、直列数S=5~7を例示したが、当該直列数は特に限定されず、状況に合わせて適宜変更してもよい。あるいは、直列数Sを変化させず、一つの値に設定して結線パターンを決定してもよい。また、クラス分けの方法として、K-means法を例示したが、これに限られず、最短距離法や、最長距離法、群平均法、ウォード法など、あらゆるクラス分け方法と採用してもよい。クラス内での結線パターンの最適化は、予め所定の直列数の制約条件の下で、可能性のある結線パターンを予め登録しておき、その中からアレイの最大出力が最大となるパターンを選択する方法や、自動的に結線パターンを逐次生成しながら最適な結線パターンを選択する方法でもよい。後者の方法としては、予め初期値となる結線状態をいくつか生成した後、遺伝的アルゴリズム、ニューラルネットワークによって最適な結線パターンを見出す手法などがある。また、結線パターン選択部は、同じクラス内の太陽電池モジュールが全て直列に接続される結線パターンを選択してもよい。この方法では、クラス分けが終了した時点で、結線の最適化も完了しているため、演算が容易であるというメリットがある。また、クラス分け部は、第1のクラスにおける太陽電池モジュールMのパラメータの標準偏差と、第2のクラスにおける太陽電池モジュールMのパラメータの標準偏差との合計値が、クラス分けを実施しないときの全太陽電池モジュールMの標準偏差を下回るようにクラス分けをしてもよい。"