tsp遗传算法 c语言,【分享】遗传算法解决TSP问题的源程序
該樓層疑似違規已被系統折疊?隱藏此樓查看此樓
std::back_inserter(Child2));
/**********************************************************************
cout?<
for?(tempIter=Child1.begin();?tempIter!=Child1.end();?++tempIter)
cout?<
cout?<
cout?<
for?(tempIter=Child2.begin();?tempIter!=Child2.end();?++tempIter)
cout?<
cout?<
**********************************************************************/
std::rotate?(fatherBk.begin(),?fatherBk.begin()+HighBoundary+1,?fatherBk.end());
std::rotate?(motherBk.begin(),?motherBk.begin()+HighBoundary+1,?motherBk.end());
/**********************************************************************
cout?<
copy?(fatherBk.begin(),fatherBk.end(),?std::ostream_iterator(cout,?"?"));
cout?<
cout?<
copy?(motherBk.begin(),?motherBk.end(),?std::ostream_iterator(cout,?"?"));
cout?<
**********************************************************************/
for?(V_iter?=?m_GenerationGene[iFather].begin()+LowBoundary;
V_iter?!=?m_GenerationGene[iFather].begin()+HighBoundary+1;?++V_iter)
{
motherBk.erase(std::remove(motherBk.begin(),?motherBk.end(),?*V_iter),
motherBk.end());
}
for?(V_iter?=?m_GenerationGene[iMother].begin()+LowBoundary;
V_iter?!=?m_GenerationGene[iMother].begin()+HighBoundary+1;?++V_iter)
{
fatherBk.erase(std::remove(fatherBk.begin(),?fatherBk.end(),?*V_iter),
fatherBk.end());
}
/**********************************************************************
cout?<
copy?(fatherBk.begin(),fatherBk.end(),?std::ostream_iterator(cout,?"?"));
cout?<
cout?<
copy?(motherBk.begin(),?motherBk.end(),?std::ostream_iterator(cout,?"?"));
cout?<
**********************************************************************/
iDistance?=?_CITY_AMOUNT?-HighBoundary?-?1;
std::copy(motherBk.begin(),?motherBk.begin()+iDistance,?std::back_inserter(Child1));
std::copy(motherBk.begin()+iDistance,?motherBk.end(),?std::inserter(Child1,Child1.begin()));
std::copy(fatherBk.begin(),?fatherBk.begin()+iDistance,?std::back_inserter(Child2));
std::copy(fatherBk.begin()+iDistance,?fatherBk.end(),?std::inserter(Child2,Child2.begin()));
/**********************************************************************
cout?<
copy?(Child1.begin(),?Child1.end(),?std::ostream_iterator(cout,?"?"));
cout?<
cout?<
copy?(Child2.begin(),?Child2.end(),?std::ostream_iterator(cout,?"?"));
cout?<
**********************************************************************/
/*iChild1Probability?=?fnEvalOne(Child1);
//iChild2Probability?=?fnEvalOne(Child2);
P_iter?=?std::max_element(m_vProbability.begin(),?m_vProbability.end());
if?(iChild1Probability?
{
m_GenerationGene[P_iter-m_vProbability.begin()]?=?Child1;
總結
以上是生活随笔為你收集整理的tsp遗传算法 c语言,【分享】遗传算法解决TSP问题的源程序的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 明确C++风格的类型转换的用法
- 下一篇: 嵌入式编程与c语言有何区别,有的嵌入式设