Congestion control algorithms are used to help prevent congestion from occurring on the Internet. However, a definitive congestion control algorithm has yet to be developed. There are three reasons for this: First, the environment and usage of the Internet continue to evolve over time. Second, it is not clear what congestion control algorithms will be required as the environment evolves. Third, there is a limit to the number of the congestion control algorithms that can be developed by researchers. This paper proposes a method for automatically generating diverse congestion control algorithms and optimizing them in various environments by co-evolving network simulations as environments and congestion control algorithms as agents. In experiments conducted using co-evolution, although the algorithms generated were not on par with conventional practical congestion control algorithms, the intent of the procedures in the algorithms was interpretable from a human perspective. Furthermore, our results verify that it is possible to automatically discover a suitable environment for the evolution of a congestion control algorithm.