2021-10-10から1日間の記事一覧

焼き鈍し法(Simulated Annealing:SA)の実装

OneMax問題(10ビット)を解いてみる。 温度を線形に減少する。 import numpy as np import matplotlib.pyplot as plt R = 10 T = 10 N_bit = 10 x = [np.random.randint(100)%2 for _ in range(N_bit)] y = np.zeros_like(x) def evalOneMax(x): return sum…

pipを使う際のtips

結論:python -m pip install を使う 注意点: 1. sudoは使わない(権限の関連で問題が生じる) 2. pip installは使わない(PATHに読み込んでいるはずのsite-packages以下にインストールされたモジュールが読めないというエラーが発生する恐れがある)

山登り法の実装

OneMax問題(10ビット)を解く。 import numpy as np import matplotlib.pyplot as plt R = 500 N_bit = 10 x = [np.random.randint(100)%2 for _ in range(N_bit)] y = np.zeros_like(x) def evalOneMax(x): return sum(x) def mutate(x): idx = np.rando…

OpenRocketをPythonから呼び出す

ここを参考に。orhelperを使う。 wiki.openrocket.info 自分の環境では以下が必要だった。 import matplotlib matplotlib.use('Qt5Agg') 以下のサンプルコードsimple_plot.pyでは、OpenRocket-15.03.jarとsimple.orkをカレントディレクトリにおくことを想定…

粒子群最適化(PSO)の実装

OneMax問題(10ビット)を解いてみる。 import numpy as np import random import pdb import matplotlib.pyplot as plt T = 100 N_bit = 10 N = 20 x = np.random.rand(N,N_bit) v = np.random.rand(N,N_bit) g = np.zeros(N_bit) p = np.zeros((N,N_bit)) …