平面四連桿尺寸合成研讀

已經將學長的code看完RGA(基因演算法)的部分

學長是使用cython來寫演算法的部分,python主要是程式架構而已,要啟動他必須藉著python找答案

GA演算法大致上的作法

1.Cp(複製)

2.crossower(交配)

3.mutate(突變)

4.fitness(適應值)

5.report(回報)

6.getParamValue

設定邊界(Ax,Ay) (Dx,Dy) 是兩個fix的座標點的上下界

Max upper AX AY DX DY L0 L1 L2 L3 L4

Min lower AX AY DX DY L0 L1 L2 L3 L4

目標點給的點數,學長的論文裡面是(0,0)到(10,10)的點

target path [(x,y)(x1,y1)()()()()()()]

all Expression 這項我不懂

A,L0,a0,D,B,B,L1,L2,D,C,B,L3,L4,C,E

Driving A 驅動桿

Follower D 被動桿

Link L0 L1 L2 L3 L4 連接桿

connect L1 連接桿

nParm 19 這樣不懂

nPop 250 這樣不懂

pCross 0.95 交配率

pMute 0.05 突變率

pWin 0.05 勝率

bDelta 5 突變參數

maxGen 1500 最大子代

report 100 回報週期

我目前是在linux上面做,先將cython編譯成so來做連接庫

python3 setup.py ext_build

做成連結庫,這部分有個問題,我有辦法做成在linux電腦上面都能用的連結庫嗎? 底下是我的倉儲

pyslvs_generate

以及我解出來的答案,會有19組 ,我當時猜想會不會是取前9組答案就好,因為後面那些答案我不知道是要做什麼的 -29.8262,26.5961,-36.8366,3.3764,4.2368,29.9217,9.2923,36.5820,39.4538,59.0497,4 1.7408,50.1189,34.8905,30.3267,77.2301,85.4167,102.6586,68.3543,94.1729

這些答案排版起來就是(Ax,Ay) (Dx,Dy) L0 L1 L2 L3 L4

(Ax,Ay) (-29.8262,26.5961)

(Dx,Dy) (-36.8366,3.3764)

L0 4.2368

L1 29.9217

L2 9.2923

L3 36.5820

L4 39.4538

第10項以後我就不知道要做什麼了,回傳的答案給的,這個是通過 (1 ,1),(2 ,2),(3 ,3),(4 ,4),(5 ,5),(6 ,6),(7 ,7),(8 ,8),(9 ,9),(10,10) 這些點座標的連桿


Comments

comments powered by Disqus