Articles of optimización

¿Por qué este pequeño juego de Pacman (155 líneas de largo) en Python funciona tan lento?

Ya he cortado todo lo que pude del bucle principal. También optimicé las colisiones para objetos dynamics y estáticos, reduciendo considerablemente el número de iteraciones. Pero sigue siendo lento en su máquina. Publicaré el archivo completo para el caso en el que alguien quiera probarlo, pero puede saltar al bucle principal en “while Exit == […]

Acelera el algoritmo de flujo óptico (si corresponde) Python OpenCV

Me encontré con esta situación interesante ( Aceleración del flujo óptico (createOptFlow_DualTVL1) ) pero no se aplica a mis necesidades. Mi problema general es que quiero acelerar lo más posible el siguiente código si es aplicable. Tenga en cuenta que quiero que los marcos estén en escala de grises y que cambien su tamaño a […]

os.walk muy lento, ¿alguna forma de optimizar?

Estoy usando os.walk para construir un mapa de un almacén de datos (este mapa se usa más adelante en la herramienta que estoy construyendo) Este es el código que uso actualmente: def find_children(tickstore): children = [] dir_list = os.walk(tickstore) for i in dir_list: children.append(i[0]) return children He hecho un análisis al respecto: dir_list = os.walk(tickstore) […]

Progtwigción de enteros mixtos – Ubicación de almacén (Python + GLPK)

Soy relativamente nuevo en optimización y estoy tratando de optimizar un problema (de una clase pas en Coursera, hace 2 años) sobre la ubicación del almacén. El problema es que han pasado más de 6 horas y aún se está ejecutando en una instancia con 100 almacenes y 1000 clientes. El problema es el siguiente. […]

Concatenar arrays de rango dado inicio, detener los números de una manera vectorizada – NumPy

Tengo dos matrices de interés, la primera es una matriz de “bolsa de palabras”, con dos columnas: la identificación del documento y el término identificación. Por ejemplo: bow[0:10] Out[1]: array([[ 0, 10], [ 0, 12], [ 0, 19], [ 0, 20], [ 1, 9], [ 1, 24], [ 2, 33], [ 2, 34], [ 2, […]

Optimización utilizando scipy.

En el siguiente script: import numpy as np from scipy.optimize import minimise a=np.array(range(4)) b=np.array(range(4,8)) def sm(x,a,b): sm=np.zeros(1) a=a*np.exp(x) sm += sum(ba) return sm x0=np.zeros(4) print sm(x0,a,b) #checking my function opt = minimize(sm,x0,args=(a,b),method=’nelder-mead’, options={‘xtol’: 1e-8, ‘disp’: True}) Estoy tratando de optimizar para x pero tengo el siguiente mensaje: Advertencia: se ha superado el número máximo de […]

Optimización del cálculo de la gravitación para partículas en un espacio 2d de gravedad cero

He creado una pequeña visualización de partículas en python. Soy el movimiento de partículas en un espacio 2D con gravedad cero. Como cada partícula atrae a todas las demás partículas en función de la masa de partículas y la distancia. Realicé una visualización en pygame y todo funciona como un plan (con la calibración), sin […]

¿La expresión multiplicativa de Python se evalúa más rápido si encuentra un cero?

Supongamos que ia tiene una expresión multiplicativa con muchos multiplicandos (expresiones pequeñas) expression = a*b*c*d*….*w donde, por ejemplo, c es (x-1), d es (y ** 2-16), k es (x y-60) ….. x, y son números y sé que c, d, k, j tal vez cero ¿El orden en que escribo la expresión es importante para […]

Python: ajuste multivariable no lineal como matlabs nlinfit

Solía ​​usar Matlab para realizar ajustes no lineales utilizando la función nlinfit . Esto me permitió crear un ajuste para un vector de respuestas observadas a dos predictores. En aras de los argumentos, digamos recuperación de Cu a través de un proceso de separación basado en el grado de alimentación y la velocidad de alimentación. […]

Scipy.optimize termina exitosamente para NLP no factible

Intenté resolver una PNL usando el scipy.optimize SLSQP. El problema es claramente inviable, pero la función de minimizar en scipy.optimize parece estar en desacuerdo. minimize X^2 + Y^2 subject to X + Y = 11 X, Y >= 6 El código: from scipy.optimize import minimize def obj(varx): return varx[1]**2 + varx[0]**2 def constr1(varx): constr1 = […]