私はy
総コストに収まるx
製品のすべての可能性を得るために、小さなモジュールをPythonで作成しました。モジュールはうまく動作しますが、遅くなります。 6つの製品を各製品の30回の反復まで計算するのに約6時間かかります。だから、私はFORTRANでスクリプトを書き直すことを考えていましたが、もっと速いスピードでミルクを吐くことができないかどうかを確認しました。残念なことに、私はFORTRANを初めて使っています。今ではほとんどのライブラリなどはありません。fortranのcombination_with_replacement関数ですか?
pythonのitertools.combinations_with_replacement(pool, r)
と同じモジュール/機能がFORTRANにありますか、同じことを達成するモジュールはありますか?
私はretracileに同意します。交換の可能性のあるすべての組み合わせを真に調べる必要がない場合は、避ける価値があります。また、CPythonのcombine_with_replacentはC言語で書かれているため、Fortranでその部分を書き直すことでスピードを上げることはできません(それぞれの組み合わせに対して実行する処理の速度を上げることはできます)。 –
確かに、あなたは正しいです。私をまっすぐにしてくれてありがとう。必要な反復回数を計算する方法を知っていますか?あなたの方法でも、私はまだ長い時間を取っています。数時間ではなく、分ですが、進捗バーにはまだふさわしいものです。 – AedonEtLIRA
私はあなたの次のステップは、あなたが結果を使用しているものについて考え直して考えることだと思います。すべての可能性を持つ必要がなければ、さらに最適化の余地があるかもしれません。また、私が持っている実装例は、ジェネレータに変換することで改善することができます。 (これは簡単ではありませんが、読者のための練習として残しておきます)。 – retracile