![]() |
[求助]适应度函数的编写
2 个附件
要解决的问题是企业联盟的伙伴选择,目标函数件见附件。
主要问题是用 0 1 编码时链接成本难以表示。 我也在思考中,希望大家能给于帮助, 谢谢。 qq121132041 |
现在算衔接成本的程序是
csj=[1,0,1,0,0,0,1,0,0,1,0,0,0,0; 0,1,1,0,0,0,0,1,0,0,0,1,0,0; 1,0,0,1,0,0,0,1,0,1,0,0,0,0; 0,1,0,0,0,1,1,0,0,0,0,0,1,0; 0,1,0,1,0,0,1,0,0,0,0,0,0,1; 1,0,1,0,0,0,1,0,0,0,1,0,0,0; 0,1,0,1,0,0,0,1,0,0,1,0,0,0; 1,0,0,0,0,1,1,0,0,0,0,0,0,1; 1,0,0,0,1,0,1,0,0,0,0,1,0,0; 0,1,0,0,1,0,1,0,0,0,0,1,0,0;] for i = 1:10 k=0 for j = 1:14 if csj(i,j)==1 r=j k=k+1 jl(i,k)=r end end end distance=[0,1.5,2.3,3.1,0.8,0.88,4.21,2.11,3.21,2.5,1.6,4.5,1,0.9; 1.5,0,1.3,0.56,4.07,1.83,2,3.8,2.9,4.01,2.3,3.3,2.1,1.3; 2.3,1.3,0,0.7,1.06,2.7,3.12,2.11,1.78,1.85,1.98,3.21,2.22,1.5; 3.1,0.56,0.7,0,1.8,2.3,1.6,3,1.77,1.92,2.93,2.38,3.04,2.37; 0.8,4.07,1.06,1.8,0,3.5,1.84,2.11,1.58,2.06,3.41,3.22,3.54,2.73; 0.88,1.83,2.7,2.3,3.5,0,1.92,4.2,2,3.31,1.51,1.7,1.96,2.4; 4.21,2,3.12,1.6,1.84,1.92,0,3.92,2.41,3.24,2.17,4.03,3.51,2.76; 2.11,3.8,2.11,3,2.11,4.2,3.92,0,2.81,3.72,3.24,3.31,4.15,3.56; 3.21,2.9,1.78,1.77,1.58,2,2.41,2.81,0,3.92,2.34,2.77,4.71,5.08; 2.5,4.01,1.85,1.92,2.06,3.31,3.24,3.72,3.92,0,4.31,3.56,3.14,4.22; 1.6,2.3,1.98,2.93,3.41,1.51,2.17,3.24,2.34,4.31,0,4.31,3.11,4.15; 4.5,3.3,3.21,2.38,3.22,1.7,4.03,3.31,2.77,3.56,4.31,0,3.56,3.14; 1,2.1,2.22,3.04,3.54,1.96,3.51,4.15,4.71,3.14,3.56,0,3.47; 0.9,1.3,1.5,2.37,2.73,2.4,2.76,3.56,5.08,4.22,4.15,3.14,3.47,0;] for i=1:10 eval(i,1)=0; for j=2:4 eval(i,1)=eval(i,1)+distance(jl(i,j-1),jl(i,j)); end end 错误提示为 ??? Error using ==> vertcat All rows in the bracketed expression must have the same number of columns. |
哦 错误找到了
|
[quote]distance=[0,1.5,2.3,3.1,0.8,0.88,4.21,2.11,3.21,2.5,1.6,4.5,1,0.9;
1.5,0,1.3,0.56,4.07,1.83,2,3.8,2.9,4.01,2.3,3.3,2.1,1.3; 2.3,1.3,0,0.7,1.06,2.7,3.12,2.11,1.78,1.85,1.98,3.21,2.22,1.5; 3.1,0.56,0.7,0,1.8,2.3,1.6,3,1.77,1.92,2.93,2.38,3.04,2.37; 0.8,4.07,1.06,1.8,0,3.5,1.84,2.11,1.58,2.06,3.41,3.22,3.54,2.73; 0.88,1.83,2.7,2.3,3.5,0,1.92,4.2,2,3.31,1.51,1.7,1.96,2.4; 4.21,2,3.12,1.6,1.84,1.92,0,3.92,2.41,3.24,2.17,4.03,3.51,2.76; 2.11,3.8,2.11,3,2.11,4.2,3.92,0,2.81,3.72,3.24,3.31,4.15,3.56; 3.21,2.9,1.78,1.77,1.58,2,2.41,2.81,0,3.92,2.34,2.77,4.71,5.08; 2.5,4.01,1.85,1.92,2.06,3.31,3.24,3.72,3.92,0,4.31,3.56,3.14,4.22; 1.6,2.3,1.98,2.93,3.41,1.51,2.17,3.24,2.34,4.31,0,4.31,3.11,4.15; 4.5,3.3,3.21,2.38,3.22,1.7,4.03,3.31,2.77,3.56,4.31,0,3.56,3.14; 1,2.1,2.22,3.04,3.54,1.96,3.51,4.15,4.71,3.14,3.56,0,3.47; 0.9,1.3,1.5,2.37,2.73,2.4,2.76,3.56,5.08,4.22,4.15,3.14,3.47,0;][/quote] 这个里面元素可能不一致…… |
[QUOTE=dnping;8859]这个里面元素可能不一致……[/QUOTE]
对 落了一个数 找到了 谢谢。 目标函数已经没问题了,现在在看选择和变异的程序,费解中。 |
这里回贴的人好像很少啊 我现在的程序调通了 可就是收敛不了 难道选择遗传算法就是个错误?
|
回复: [求助]适应度函数的编写
关于收敛可自己根据题目的具体情况改进算法
|
回复: [求助]适应度函数的编写
[QUOTE=liuran8436;8754]要解决的问题是企业联盟的伙伴选择,目标函数件见附件。
主要问题是用 0 1 编码时链接成本难以表示。 我也在思考中,希望大家能给于帮助, 谢谢。 qq121132041[/QUOTE] 大家一起探讨探讨!!!:confused: |
所有时间均为北京时间。现在的时间是 12:38。 |
Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.