1

次の問題を解決する必要があります。

H を一連のポートフォリオとします。の各ポートフォリオについて、このソリューションの値をとiします。H(ri,vi)(return,risk)

それぞれiHが存在する場合j(Hjは異なるi) などのが存在しrj>=ri、からvj<=vi削除iされHます。iによって支配されているためですj(リスクが少ないため、リターンが高くなります)。

最終H的には、非支配の効率的なソリューションのセットになります。

linqを使用して上記の問題を解決しようとしました:

 H.RemoveAll(x => H.Any(y => x.CalculateReturn() <= y.CalculateReturn() && x.CalculateRisk() >= y.CalculateRisk() && x != y));

しかし、より効率的な方法が存在するかどうかは疑問ですH.Count()。1 万のオーダーになると、支配されたポートフォリオを削除するのに多くの時間がかかるためです。

助けてくれてありがとう!

クリストス

4

1 に答える 1