2
私はの実装を進めています。遺伝的アルゴリズム 私はASP.NET MVC4 Webアプリケーションを使用してコードを実行します。利用できるタクシー asp.net mvcは何回もループした後、何もしません。
- 数
私のコードは、ユーザーの入力ならば完全に少ない30、利用可能なタクシーの数を動作します:
入力ユーザーが
テストに基づいて100を下回る最大世代。問題はです。ユーザーの入力が上記の条件を超えた場合、私のコードは約18〜40の反復ループしか働かず、何もしません。
誰かが私にこれを解決する方法を説明できますか? 私はこの問題に関連するいくつかの研究を行ってきましたが、答えはコントローラに非同期を追加することですが、それは役に立たなかった、私の問題は依然として存在する。ここ
は私のコントローラの全体的なワークフローです:
[HttpPost]
[ValidateAntiForgeryToken]
public async Task<ActionResult> Index(ProsesGADTO dto)
{
if (ModelState.IsValid)
{
- Some Genetic Algorithm Process
while (maxGeneration > countGeneration && checkConvergence < maxConvergence)
{
countGeneration++;
- Extended genetic algorithm process
}
return RedirectToAction("HasilGA");
}
else return RedirectToAction("Index");
}
私はそれをよりシンプルにするために、質問を編集しました。 と私は最終的な実装のために非同期を使用しませんでした。
「それは何もしない」とはどういう意味ですか?メソッドを終了するか、ハングしますか?どのようにそれが何もしないと言うことができますか? –
@AndriiLitvinovは多分、私はコードでブレークポイントを作った、18反復の視覚スタジオのデバッグプロセスは、ブレークポイントで一時停止していませんでした。 – Shasapo
アクションにログを書き込んで、何が停止しているのかを確認してください。メソッドの先頭と最後、およびメジャーコードブロック内にログを書き込みます。また、デッドロックと同様の現象が発生します。たぶんあなたのソリューションを投稿できますか?なぜあなたはTask.Delayが必要ですか? –