From c355d5ccf439d082314b68e4c878413c395cea6c Mon Sep 17 00:00:00 2001 From: Regnod <60659112+Regnod@users.noreply.github.com> Date: Fri, 18 Feb 2022 18:24:09 -0500 Subject: [PATCH] Revert "Richard" --- Geo_Manim.py | 84 -------- Informe para el usuario.md | 41 ---- Penalty_Manim.py | 89 --------- Richard.md | 81 -------- Richard1.pdf | Bin 344577 -> 0 bytes asd.py | 189 ------------------ data.json | 1 - geometric.py | 114 ----------- geometric_aproach.json | 4 - geometric_matplotlib.py | 114 ----------- gradient.py | 103 ---------- myPenaltyMethod.py | 289 --------------------------- newton.py | 55 ------ penalty.py | 262 ------------------------ penalty_gradient.py | 88 --------- penalty_newton.py | 88 --------- penalty_settings.json | 12 -- settings.json | 12 -- testnp.py | 75 ------- utils.py | 396 ------------------------------------- 20 files changed, 2097 deletions(-) delete mode 100644 Geo_Manim.py delete mode 100644 Informe para el usuario.md delete mode 100644 Penalty_Manim.py delete mode 100644 Richard.md delete mode 100644 Richard1.pdf delete mode 100644 asd.py delete mode 100644 data.json delete mode 100644 geometric.py delete mode 100644 geometric_aproach.json delete mode 100644 geometric_matplotlib.py delete mode 100644 gradient.py delete mode 100644 myPenaltyMethod.py delete mode 100644 newton.py delete mode 100644 penalty.py delete mode 100644 penalty_gradient.py delete mode 100644 penalty_newton.py delete mode 100644 penalty_settings.json delete mode 100644 settings.json delete mode 100644 testnp.py delete mode 100644 utils.py diff --git a/Geo_Manim.py b/Geo_Manim.py deleted file mode 100644 index 3d8bae6..0000000 --- a/Geo_Manim.py +++ /dev/null @@ -1,84 +0,0 @@ -#Librerías necesarias -import matplotlib.pyplot as plt -import numpy as np -from shapely.geometry import LineString -from sympy.parsing.sympy_parser import parse_expr, standard_transformations, convert_equals_signs -from geometric import geometric_aproach -from utils import * -from manim import * -# from manimlib import * -config.frame_width =50 -config.frame_height =50 -w = config.frame_width/7 -h = config.frame_height/7 -x1 = np.arange(-100, 150, 10) -y1 = np.arange(-100, 150, 10) -p1 = np.arange(-100, 150, 10) - -with open('geometric_aproach.json') as settings: - data = json.load(settings) -function_ = data["func"] -constraints_ = data["constraints"] -(pairs, _lines, m, n, intersections, intersects_evals, Xmax, Ymax, Zmax, Xmin, Ymin, Zmin) = geometric_aproach(constraints_, function_, x1, y1) - - - -dots = [] -lines = [] -intercepts_dots = [] -intercepts = [] -if Xmax is not None: - for pair in pairs: - x_pair, y_pair = pair - # for i in range(len(x_pair)): - try: - x_i=x_pair[0].p/x_pair[0].q - x_e=x_pair[-1].p/x_pair[0].q - except: - x_i = x_pair[0].item() - x_e = x_pair[-1].item() - try: - y_i= y_pair[0].p/y_pair[0].q - y_e= y_pair[-1].p/y_pair[0].q - except: - y_i = y_pair[0].item() - y_e = y_pair[-1].item() - init_dot = Dot([x_i/w, y_i/h, 0]).set_color(ORANGE) - end_dot = Dot([x_e/w, y_e/h, 0]) - # self.add(Dot([6, -10, 0])) - dots.append(init_dot) - dots.append(end_dot) - # dots.append((init_dot, end_dot)) - lines.append(Line([x_i/w, y_i/h, 0], [x_e/w, y_e/h, 0]).set_color(ORANGE)) - - for (x, y) in intersections: - intercepts_dots.append(Dot([x/w, y/h, 0], stroke_width=10)) - intercepts.append([x/w, y/h, 0]) - a = 0 - - max_dot = Dot([Xmax/w, Ymax/h, 0], stroke_width=25).set_color(RED) - max_text = Text(f'Max: {Zmax} at ({Xmax}, {Ymax}) with red color') - min_dot = Dot([Xmin/w, Ymin/h, 0], stroke_width=25).set_color(BLUE) - min_text = Text(f'Min: {Zmin} at ({Xmin}, {Ymin}) with blue color') - - -class Geo_Manim(Scene): - def construct(self): - - for line in lines: - self.play(Create(line)) - for d in intercepts_dots: - self.play(Create(d)) - if Xmax is not None: - pol = Polygon(*intercepts).set_fill(RED,opacity=0.5) - self.play(Create(pol)) - self.play(Create(max_dot)) - self.play(Create(min_dot)) - self.play(Write(max_text)) - self.play(max_text.animate.move_to(DOWN*5)) - self.play(Write(min_text)) - self.play(min_text.animate.move_to(DOWN*3)) - self.wait(3) - else: - self.play(Write(Text("There is no Ansewer"))) - \ No newline at end of file diff --git a/Informe para el usuario.md b/Informe para el usuario.md deleted file mode 100644 index e3ea2f9..0000000 --- a/Informe para el usuario.md +++ /dev/null @@ -1,41 +0,0 @@ -### Informe para el usuario: - -Este sería un ejemplo de como ejecutar el programa, el flag __-ql__ es para la calidad, la __l__ significa low, existen otros como __m__, __h__, __k__ los cuales corresponden a medium, high y 4k respectivamente. Se debe tener cuidado al usar estos por el consumo de CPU. También podemos añadirle __-p__ al flag anterior quedando __-pql__ para que al terminar de ejecutar el programa muestre el resultado en un video. Los demás parametros deben ser el nombre del .py a ejecutar y el nombre de la clase que implementa las clases de Manim. El flag --format=gif es usado para que el archivo que retorne sea en formato gif y no un video. - -![drag-img](/home/regnod/Pictures/Screenshot from 2022-02-18 18-04-38.png) - -Un ejemplo del proceso del programa. - -![drag-img](/home/regnod/Pictures/Screenshot from 2022-02-18 17-37-20.png) - - - -Cuando llegue aqui ya terminó el proceso y muestra el path donde se encuentra el archivo. - -![drag-img](/home/regnod/Pictures/Screenshot from 2022-02-18 17-38-00.png) - - - -Esta sería la configuración del __penalty_settings.json__ la cual consiste en 2 objetos, el primer string corresponde a la funcion objetivo y el segundo es una lista con las restricciones descritas a través de strings. Los otros parametros son más especificos del método de penalización, la cantidad de iteraciones como caso de parada, el coeficiente de penalización, el valor para aumentar este, los rangos de x y las y. - -![drag-img](/home/regnod/Pictures/Screenshot from 2022-02-18 17-47-22.png) - - - -Esta sería la configuración del __geometric_aproach.json__ la cual consiste en 2 objetos, el primer string corresponde a la funcion objetivo y el segundo es una lista con las restricciones descritas a través de strings. - -![drag-img](/home/regnod/Pictures/Screenshot from 2022-02-18 17-47-32.png) - -A continuación tenemos ejemplos de lo realizado. - -![drag-gif](/home/regnod/Pictures/Screenshot from 2022-02-18 18-15-49.png) - -![drag-gif](/home/regnod/Pictures/Screenshot from 2022-02-18 18-15-17.png) - - - -Aquí podemos observar como sería el resultado de graficar una función con esta erramienta en 3d. - -![drag-gif](/home/regnod/Documents/4to/modelos de optimización 2/media/videos/Penalty_Manim/720p30/Penalty_ManimCE.gif) - -![drag-gif](/home/regnod/Pictures/Screenshot from 2022-02-18 18-15-38.png) \ No newline at end of file diff --git a/Penalty_Manim.py b/Penalty_Manim.py deleted file mode 100644 index 79a24ad..0000000 --- a/Penalty_Manim.py +++ /dev/null @@ -1,89 +0,0 @@ -from manim import * -from utils import * -import numpy as np -from penalty_newton import penalty_newton - -with open('penalty_settings.json') as settings: - data = json.load(settings) - -_dict = penalty_newton() -variables, function, constraints = read_json('penalty_settings.json') -lam = sym.Lambda(convert_list_to_tuples(variables), function) -restrictions_lambdas = [sym.Lambda(convert_list_to_tuples(variables), con) for con in constraints] -path_dots = read_dots_from_json(_dict["points"]) -p_dots = [] -for (x_, y_) in path_dots: - p_dots.append([x_, y_, lam(x_, y_)]) -# p_dots.append(Dot([*path_dots[-1], lam(*path_dots[-1])], stroke_width=35).set_color(RED_D)) - - -a = 0 -# x_ = np.arange(-10,10,1) - -# y_ = np.arange(-10,10,1) -# for i in x_: -# print(str([i, i, lam(i, i)])) -# config.frame_width =50 -# config.frame_height =50 -# w = config.frame_width/7 -# h = config.frame_height/7 -x1 = np.arange(-100, 150, 10) -y1 = np.arange(-100, 150, 10) - -try: - x_range = data['Penalty_x_range'] - y_range = data['Penalty_y_range'] -except: - raise Exception("You must specify the range of coordinates, i.e x_range = [-4,4], y_range = [0,10]") -class Penalty(ThreeDScene): - def construct(self): - axes = ThreeDAxes(tips=False) - def shape(u,v): - z = lam(u, v) - return np.array([u, v, z]) - graph = Surface( - shape, v_range=[-2,2], u_range=[-2,2], - checkerboard_colors=[RED_D, RED_E], resolution=(50, 50), fill_opacity=0.5 - ) - - self.set_camera_orientation(phi=75 * DEGREES, theta=-30 * DEGREES) - # self.renderer.camera.light_source.move_to(3*IN) # changes the source of the light - - # self.play(Rotate(graph, 0*DEGREES)) - # self.play(Rotate(axes, 0*DEGREES)) - - itt_points = [Dot3D(axes.coords_to_point(*i), color=BLUE, radius=0.07) for i in p_dots[1:-1]] # the middle steps points - ppoints = [Dot3D(axes.coords_to_point(*p_dots[0]), color=RED)] - ppoints.extend(itt_points) - ppoints.append(Dot3D(axes.coords_to_point(*p_dots[-1]), color=GREEN)) - - # self.add(graph, axes) - self.play(Create(axes)) - self.play(Create(graph)) - method_text = Text( - f"The point reached was at \n({p_dots[-1][0]}, {p_dots[-1][1]}) \nwith a value of {p_dots[-1][2]}", font_size=20, - - ) - self.add_fixed_in_frame_mobjects(method_text) - method_text.to_corner(UL) - # self.add(method_text) - - # self.play(Write(method_text.to_corner(UL))) - - for p in ppoints: - # self.add(p) - self.play(Create(p)) - self.begin_ambient_camera_rotation(rate=0.3) - self.wait() - self.stop_ambient_camera_rotation() - - self.wait() - # self.add(axes, graph) - # self.begin_ambient_camera_rotation(rate=0.7) - # self.wait(4) - # self.stop_ambient_camera_rotation() - # self.move_camera(phi=75 * DEGREES, theta=30 * DEGREES) - # self.wait() - - - \ No newline at end of file diff --git a/Richard.md b/Richard.md deleted file mode 100644 index 6b70f7c..0000000 --- a/Richard.md +++ /dev/null @@ -1,81 +0,0 @@ -### Solución Geométrica para un problema de optimización lineal: - -La solución geométrica asociada a un problema de optimización lineal se realizó de la siguiente forma: - -Paso 1: Se usan todas las restricciones del problema y se grafican en el plano como rectas. - -Paso 2: Se hallan las intercepciones entre estas rectas, las cuales constituyen puntos. - -Paso 3: Se elije entre todos los puntos de intercepción solo aquellos que cumplan todas las restricciones del problema, los demás se descartan. - -Paso 4: Luego se usa la función objetivo para determinar cuáles son las evaluaciones de estos puntos en la misma y ordenarlos en cuanto a su valor para encontrar el mínimo y el máximo. - -Paso 5: Los resultados de la evaluación se almacenan en una estructura diccionario donde el identificador es un entero entre 0 y la cantidad de puntos de intersección encontrados, después de haber sido ordenados. - -Paso 6: Se crean dos listas __m__, __n__ que contienen las los valores de __x__, __y__ respectivamente de los puntos ordenados. - -Paso 7: Para encontrar el mínimo se escoge de la estructura diccionario anteriormente descrita el identificador que pertenece al menor valor almacenado en este y se utiliza como posición para indexar en las listas __m__, __n__ y de esta forma obtenemos el mínimo. De igual forma obtenemos el máximo buscando el identificador del mayor valor en el diccionario. - -Luego para graficar en Manim, lo que hacemos es ir siguiendo los pasos hasta obtener todos los datos necesarios tales como las rectas, las intersecciones de estas rectas que son válidas para el problema así como el punto máximo y mínimo. Hacemos aparecer las líneas, luego los puntos intersección, luego el poligono asociado a estos puntos y por último los puntos de máximo y mínimo en caso de existir. - -##### Detalles del código: - -Todo el proceso para hayar las intersecciones así como mínimo y máximo están en el archivo __geometric.py__ en un método llamado __geometric_aproach__, el cual recibe 4 parámetros, las restricciones en forma de listas de strings, la ecuación objetivo en forma de string y dos listas de valores __x__, __y__ con los cuales se formaran las rectas. - -Luego el proceso para graficar com Manim se encuentra en el archivo __Geo_Manim.py__ donde primero se realiza el llamado a __geometric_aproach__ para obtener todos los datos necesarios y luego se procede a graficar en orden las líneas, puntos de intersección, el polígono asociado a estos puntos y por último los puntos de máximo y mínimo. - -Por último, los detalles como la función y las restricciones se almacenan en un archivo __geometric_aproach.json__ el cual se utiliza como configuración del problema a resolver. - -Se utilizó como nombre de variables "x" y "y". - - - -### Penalty: - -Método de Penalización: - -Este método reemplaza la función objetivo con restricciones por una función sin restricciones, la cual es formada por: - --La función objetivo - --Un término adicional por cada constraint, que es positivo si el punto actual __x__ viola las restricciones o 0 de otra forma. - -La mayoría de las formas de este método usan un coeficinetepositivo el cual se utiliza para multiplicar la parte de la funcion de las restricciones. Haciendo que este coeficiente sea más grande se penaliza más fuerte cada ves la violación de las restricciones para llegar más cerca a la región factible para el problema restringido. - -Estos son considerados "exterior penalty method", dado que el término de penalización en la función para cada restricción no es 0 cuando x es no factible con respecto a esa restricción. - -El método cuadrático de penalización es el que cada término de penalización es elevado al cuadrado. Además las restricciones de igualdad y desigualdad tienen distintas formas: - --igualdad: h(x) => $(h(x))^2$ - --desigualdad: g(x) => $max(0, g(x))^2$ - -$\Phi(x)$ - -##### Detalles del código: - -Todo el proceso para hayar las intersecciones así como mínimo y máximo están en el archivo __penalty_newton.py__ en un método llamado __penalty_newton__. - -El método se puede describir en pseudo código de la siguiente forma: - -dados el coeficiente de penalización ($\mu_0$), una tolerancia ($\tau_0>0$) y un punto inicial ($x_0$) - -for $k$ = 0, 1,2, . . . - -​ encontrar un minimizador aproximado x_k para la función y termina cuando $||\nabla \Phi(x_k)||<= \tau_k$ - -​ if se satisface el test de convergencia final parar con la aproximacion $x_k$. - -​ else aumentar el coeficiente de penalización y coger el punto hayado como nuevo start_point, repetir el proceso. - -end ( for) - -En el proceso se va modificando la función de penalización dado que el coeficiente por el que se multiplican los términos de penalización varía. - -Al final se devuelve un diccionario con la cantidad de iteraciones realizadas, los puntos intermedios y el una lista con los valores de __x__, __y__ y el resultado de evaluar la funcion en estos (__z__). - -Luego el proceso para graficar com Manim se encuentra en el archivo __Penalty_Manim.py__ donde primero se realiza el llamado a __penalty_newton__ para obtener todos los datos necesarios y luego se procede a graficar en orden el eje de coordenadas, la función y los puntos resultantes. - -Por último, los detalles como la función y las restricciones se almacenan en un archivo __penalty_settings.json__ el cual se utiliza como configuración del problema a resolver. - -Se utilizó como nombre de variables "x" y "y". \ No newline at end of file diff --git a/Richard1.pdf b/Richard1.pdf deleted file mode 100644 index cd94d913ecd3da1d6a7e9dbab472f5e2745b8f43..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 344577 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 z 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 diff --git a/asd.py b/asd.py deleted file mode 100644 index c0ec3ac..0000000 --- a/asd.py +++ /dev/null @@ -1,189 +0,0 @@ - - -# from scipy.optimize import minimize, line_search -# import sympy as sym -# from sympy.parsing.sympy_parser import parse_expr, standard_transformations, convert_equals_signs -# from utils import func_eval, get_lambdas, get_constraints_cleared, get_penalty_func, get_penalty_ineq_constraints_minimize, get_eq, get_penalty_eq_constraints -# import numpy as np -# from gradient import gradient -# # rz = lambda x: (1-x[0])**2 + 100*(x[1] - x[0]**2)**2 -# # h_1 = lambda x: (x[0] - 2 * x[1] + 2) -# # h_2 = lambda x: (-x[0] - 2 * x[1] + 6) -# # h_3 = lambda x: (-x[0] + 2 * x[1] + 2) - -# # x0 = [2.3, 5] -# # cons = ({'type': 'ineq', 'fun': h_1}, -# # {'type': 'ineq', 'fun': h_2}, -# # {'type': 'ineq', 'fun': h_3}) -# # minimize(rz, x0, constraints=cons) - -# # x = sym.Symbol('x') -# # y = sym.Symbol('y') - -# ineqs_ = [] -# eqs_ = [] -# # ineqs_.append('20*x+50*y <= 3000') -# # ineqs_.append('x - 2 * y + 2 >= 0') -# # ineqs_.append('-x - 2 * y + 6 >= 0') -# # ineqs_.append('-x + 2 * y + 2 >= 0') -# # # eqs_.append('2 = x + y')#, transformations = standard_transformations+(convert_equals_signs,))) -# # # eqs_.append('2 = x + y')#, transformations = standard_transformations+(convert_equals_signs,))) -# # func = '(1-x)**2+100*(y-x**2)**2' -# ineqs_.append('(x-5)**2+y**2-26>=0') -# func = '(x**2+y-11)**2+(x+y**2-7)**2' -# # a = parse_expr(func) -# # x = ['x'] -# # la = lambda x: func_eval(['x', 'y'], [x[0], x[1]], a).p/func_eval(['x', 'y'], [x[0], x[1]], a).q -# # b = sym.Lambda(x, a) -# # c = la([2, 3]) -# # d = 0 -# # la funcion get_penalty_func recibe en strings: -# # la funcion objetivo, las restricciones, una tupla con las variables, -# # el parametro de penalización y 0 o 1 para minimizar y maximizar respectivamente -# # Devuelve: -# # las inecuaciones -# # la funcion en formato sympy, la funcion de penalizacion en formato de sympy, -# # la funcion de penalización en formato lambda, las inecuaciones y las ecuaciones - - -# def penalty(x_, iters, epsilon_, mm = 0): -# global func, ineqs_, eqs_ -# x_c = initial_point = [0.11, 0.1] - -# c = 1 -# while c < 1000: -# ineqs, func_, penalty_func, penalty_lambda, eqs, parsed_ineqs = get_penalty_func(func, ineqs_+eqs_, x_, c, mm)#('x', 'y'), c, mm) -# fp = lambda x: penalty_lambda(x[0], x[1])#float(func_eval(x_, [x[0], x[1]], penalty_func))#.p/func_eval(x_, [x[0], x[1]], penalty_func).q - -# m = gradient(x_, str(penalty_func), x_c) -# min_ = m["min"] -# min_values = m["min_value"] -# # x_1 = minimize(fp, x_c).x -# x_1 = min_ -# print(x_1) -# track = np.linalg.norm(x_1)/np.linalg.norm(x_c) -# x_c = [x_1[0], x_1[1]] -# if track <= 0.001: -# break -# c*= 2 -# return x_c - -# x_c_ = penalty(['x', 'y'],0,0,0) - -# #3.00000001176746 -# #1.9999999751723971 -# #0.83187365686818, 2.932764818735715 -# a = 0 -# # ineqs = get_penalty_eq_constraints(eqs) -# # converted = get_constraints_cleared(ineqs) -# # eq = get_eq(converted) -# # total_ineq = eq[0] -# # for e in eq[1:]: -# # total_ineq += e -# # total_ineq += 0 -# # x_constraints = [] -# # y_constraints = [] -# # for c in converted: -# # l = c.lhs -# # r = c.rhs -# # op = c.rel_op -# # if len (l.free_symbols) == 1: -# # if l.free_symbols.__contains__(x): -# # x_constraints.append([c, op]) -# # else: -# # y_constraints.append([c, op]) -# # elif len (r.free_symbols) == 1: -# # op = '<=' if op.__contains__('>') else '>=' -# # if r.free_symbols.__contains__(x): -# # x_constraints.append([c, op]) -# # else: -# # y_constraints.append([c, op]) - -# # lambdas_x = get_lambdas([i[0] for i in x_constraints]) -# # lambdas_y = get_lambdas([i[0] for i in y_constraints]) - -# # hasta aqui todo en talla - - -# # x_c = [2.3, 3] -# # i = 1 -# # while i < 1000: -# # curr_func = lambda x: rz(x) + i*(h_1(x)**2 + h_2(x)**2 + h_3(x)**2) -# # x_c = minimize(curr_func, x_c).x -# # i *= 1.2 -# # print(x_c.x) - -# # def eval_eq_constraints(eq, c, x_, vars_): -# # return c * (func_eval(vars_, x_, eq))**2 - -# # def eval_ineq_constraints(ineq, c, x_, vars_): -# # return c * (max(0, func_eval(vars_, x_, ineq)))**2 - -# # def eval_(equation, eq_cons, ineq_cons, x_, vars_, c): -# # valor = 0 -# # for con in eq_cons: -# # valor+= eval_eq_constraints(con, c, x_, vars_) - -# # for con in ineq_cons: -# # valor+= eval_ineq_constraints(con, c, x_, vars_) - -# # valor+= func_eval(vars_, x_, equation) -# # return valor - - -# if __name__ == "__main__": -# func_key_name = get_key_name(function, constraints) -# # x_ip = np.array([0.11, 0.1]) -# x_ip = np.array([2.3, 3]) -# M = 2 ## Specifies the total dimension we are working with.. //Global Var. -# c = 1.55 ##factor for updating r. -# numseq = 20 ## number of sequences for penalty function method. -# r = 0.1 -# grad = np.zeros(M) -# sol = np.zeros(M) -# sol_ = [] -# x_2 = np.zeros(M) -# ## has the principal values in the key name. -# func_key_name += ' ('+str(x_ip)[1:len(str(x_ip))-1]+') '+str(numseq)+' '+str(r)+' '+str(c) -# dic = load_saved_data(func_key_name) -# if dic is None: - -# ## BRACKET OPERATOR PENALTY METHOD..1.1,1.1 -# for k in range(numseq): -# print('\n') -# print('sequence number ', k) -# print('current function value is ', multi_f(x_ip)) -# x_1 = np.copy(x_ip) -# m = newton(_variables, str(penalty_func), x_ip) -# sol = m["min"] -# min_values = m["min_value"] -# # sol = DFP(x_ip) -# x_ip = np.copy(x_1) - -# for j in range(M): -# x_2[j] = sol[j] - x_ip[j] -# track = np.linalg.norm(x_2)/np.linalg.norm(x_ip) -# sol_ = [] -# for i in range(M): -# print(sol[i]) -# sol_.append(sol[i]) -# x_ip[i] = sol[i] -# sol_points.append(sol_) -# r*= c -# if track <= 0.001: -# break -# sol_.append(func_eval(variables, sol_, function)) -# dic = { -# func_key_name: { -# 'iterations': k, -# 'points': str(sol_points), -# 'min': str(sol_), -# } -# } -# save_process(dic) -# else: -# dic = load_saved_data(func_key_name) -# print('\n') -# print('sequence number ', dic['iterations']) -# print('the sequence of points was ', '\n['.join(dic['points'][1:len(dic['points'])-1].split('['))+'\n') -# print('the final solution was ', dic['min']) \ No newline at end of file diff --git a/data.json b/data.json deleted file mode 100644 index 2269c29..0000000 --- a/data.json +++ /dev/null @@ -1 +0,0 @@ -{"(x**2+y-11)**2+(x+y**2-7)**2 (x-5)**2+y**2-26>=0 (2.3, 3) 20 0.1 0.155": {"iterations": 4, "points": "[[2.62787032893929, 2.4747184715759922], [2.9431385041327696, 2.093940561116741], [2.9911746917593227, 2.0152361277836834], [2.9986316182431034, 2.002378938130111], [2.9997878896020325, 2.0003691566158373, 2.41558692916641e-6]]", "min": "[2.9997878896020325, 2.0003691566158373, 2.41558692916641e-6]"}, "x**2+y**2 x>=2 y<=10 (2.3, 3) 20 0.1 0.155": {"iterations": 10, "points": "[[0.18181818159756785, -1.3082008362719662e-10], [0.030526834239981454, -1.9967616362109277e-12], [0.004793483665491628, -4.785722905642079e-15], [0.0007444977473717645, -1.7814670272994916e-18], [0.00011543346197413372, -1.0281988922348497e-22], [1.7893059360695937e-05, -9.199527759859884e-28], [2.773445117832538e-06, -1.2733288043608067e-33], [4.29884499419984e-07, -2.7170138035233225e-40], [6.66321095741996e-08, -8.673576338753747e-48], [1.0327977240182738e-08, -2.7383396660629417e-56], [1.0327977240182738e-08, -2.7383396660629417e-56, 1.06667113873733e-16]]", "min": "[1.0327977240182738e-08, -2.7383396660629417e-56, 1.06667113873733e-16]"}, "(x**2 + y - 11)+(x + y**2 - 7)**2 x>=0 y>=0 (x-5)**2 + y**2 - 26 >= 0 (2.3, 3) 20 0.1 0.155": {"iterations": 6, "points": "[[0.5141717166435834, 2.508878164932901], [0.38394013087724993, 2.54604942945742], [0.19409650478351784, 2.588241173510102], [0.1147650408041444, 2.6052554988113568], [0.09886771536559803, 2.608637458675471], [0.09628833672392983, 2.6091853922232375], [0.09588558158951764, 2.609270930384672, -8.37235362331541]]", "min": "[0.09588558158951764, 2.609270930384672, -8.37235362331541]"}, "(x**2 + y - 11)+(x + y**2 - 7)**2 x>=0 y>=0 (x-5)**2 + y**2 - 26 >= 0 (0.11, 0.1) 20 0.1 0.155": {"iterations": 6, "points": "[[0.5141717155708564, 2.5088781652906116], [0.38394012987086157, 2.5460494294077347], [0.19409650457144298, 2.588241178554411], [0.11476504331504782, 2.605255498044831], [0.09886773223190584, 2.6086374555129255], [0.09628830754776765, 2.609185398013029], [0.09588558397051618, 2.609270928921136, -8.37235362331498]]", "min": "[0.09588558397051618, 2.609270928921136, -8.37235362331498]"}, "(x**2 + y - 11)+(x + y**2 - 7)**2 x>=0 y>=0 (x-5)**2 + y**2 - 26 >= 0 (0.11, 0.11) 20 0.1 0.155": {"iterations": 1, "points": "[[0.09581163371728686, 2.609286627357837], [0.09581163338821046, 2.60928662833568, -8.37235362880134]]", "min": "[0.09581163338821046, 2.60928662833568, -8.37235362880134]"}} \ No newline at end of file diff --git a/geometric.py b/geometric.py deleted file mode 100644 index ffa1984..0000000 --- a/geometric.py +++ /dev/null @@ -1,114 +0,0 @@ -import numpy as np -from shapely.geometry import LineString -from sympy.parsing.sympy_parser import parse_expr -import sympy as sym -from utils import * - -def geometric_aproach(ineqs, equation, x1, y1): - equation = parse_expr(equation) - equation = sym.Lambda(('x', 'y'), equation) - ineqs_, eqs_ = get_geometric_ineqs_and_eqs(ineqs) - converted = get_constraints_cleared(ineqs_) - eq_converted = [get_eq_cleared_constraint(eq_)for eq_ in eqs_] - x_constraints = [] - y_constraints = [] - for c in converted: - l = c.lhs - r = c.rhs - op = c.rel_op - if len (l.free_symbols) == 1: - if l.free_symbols.__contains__(x): - x_constraints.append([c, op]) - else: - y_constraints.append([c, op]) - elif len (r.free_symbols) == 1: - op = '<=' if op.__contains__('>') else '>=' - if r.free_symbols.__contains__(x): - x_constraints.append([c, op]) - else: - y_constraints.append([c, op]) - - lambdas_x = get_lambdas([i[0] for i in x_constraints]) - lambdas_y = get_lambdas([i[0] for i in y_constraints]) - lambdas_x_eq = [] - lambdas_y_eq = [] - for (eq_, symbol) in eq_converted: - if symbol == sym.Symbol('x'): - lambdas_x_eq.append(sym.Lambda(eq_.free_symbols, eq_)) - else: - lambdas_y_eq.append(sym.Lambda(eq_.free_symbols, eq_)) - - pairs = [] - for lam in lambdas_y: - pairs.append((x1, [lam(i) for i in x1])) - - for lam in lambdas_x: - pairs.append(([lam(i)for i in y1], y1)) - - for lam in lambdas_y_eq: - pairs.append((x1, [lam(i) for i in x1])) - - for lam in lambdas_x_eq: - pairs.append(([lam(i)for i in y1], y1)) - - - lines = [] - for pair in pairs: - lines.append(LineString(np.column_stack(pair))) - - # aqui se plotearian las líneas en manim - # for l, (p_x, p_y) in zip(lines, pairs): - # plt.plot(p_x, p_y, '-', linewidth=2, color='k') - - - intersections = [] - for i in range(len(lines)): - j = i+1 - while j < len(lines): - (i_x_, i_y_) = (lines[i].intersection(lines[j])).xy - if len(i_x_) != 0 and check_constraint_point(i_x_[0],i_y_[0], y_constraints, lambdas_y) and check_constraint_point(i_y_[0], i_x_[0], x_constraints, lambdas_x): - if check_eq_constraint_point(i_x_[0],i_y_[0], lambdas_y_eq) and check_eq_constraint_point(i_y_[0],i_x_[0], lambdas_x_eq): - intersections.append((i_x_[0],i_y_[0])) - j+=1 - intersections.sort() - - # aqui se pintarian los puntos intercepción - # for intersection in intersections: - # plt.plot(*intersection, 'o', color='r') - - intersects_evals = [] - for intersection in intersections: - (int_x, int_y) = intersection - intersects_evals.append(round(equation(int_x, int_y), 2)) - intersects_evals.sort() - - dict1 = {} - for i in range(len(intersects_evals)): - dict1[i] = intersects_evals[i] - if len(intersections) >= 1: - #varia según min o max - # Z = intersects_evals[-1] if min_max == 1 else intersects_evals[0] - Zmax = intersects_evals[-1] - Zmin = intersects_evals[0] - - m = [xi[0] for xi in intersections] - n = [yi[1] for yi in intersections] - - # rellenar el polígono - - # posicion = max(dict1, key=dict1.get) if min_max == 1 else min(dict1, key=dict1.get) - posicionMax = max(dict1, key=dict1.get) - posicionMin = min(dict1, key=dict1.get) - - Xmax = m[posicionMax] - Xmin = m[posicionMin] - Ymax = n[posicionMax] - Ymin = n[posicionMin] - - intersects_evals = [round(i.num, 2) for i in intersects_evals] - Zmax = round(Zmax.num, 2) - Zmin = round(Zmin.num, 2) - - return (pairs, lines, m, n, intersections, intersects_evals, Xmax, Ymax, Zmax, Xmin, Ymin, Zmin) - else: - return (pairs, lines, [], [], intersections, [], None, None, None, None, None, None) \ No newline at end of file diff --git a/geometric_aproach.json b/geometric_aproach.json deleted file mode 100644 index 074ef5a..0000000 --- a/geometric_aproach.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "func": "10000*x + 6000*y", - "constraints": ["20*x+50*y <= 3000", "x+y <= 90", "y >= 10", "y >= 0", "x >= 0"] -} \ No newline at end of file diff --git a/geometric_matplotlib.py b/geometric_matplotlib.py deleted file mode 100644 index 5dc8bfc..0000000 --- a/geometric_matplotlib.py +++ /dev/null @@ -1,114 +0,0 @@ -#Librerías necesarias -import matplotlib.pyplot as plt -import numpy as np -from shapely.geometry import LineString - -#Ecuaciones e intervalos (Para tabular) -x = np.arange(-100, 150, 1) -y = np.arange(-100, 150, 1) -y1 = 3 + (0 * x) -x1 = 20 + (0 * y) -y2 = 20 - (2 * x) -y3 = (7 - (3 * x))/ -2 -z = (-50 * x) / 20 - -#Identificadores para las líneas -primera_linea = LineString(np.column_stack((x, y1))) -segunda_linea = LineString(np.column_stack((x, y2))) -tercera_linea = LineString(np.column_stack((x, y3))) -cuarta_linea = LineString(np.column_stack((x1, y))) -quinta_linea = LineString(np.column_stack((x, z))) - -#Graficando las líneas -plt.plot(x, y1, '-', linewidth=2, color='b') -plt.plot(x, y2, '-', linewidth=2, color='g') -plt.plot(x, y3, '-', linewidth=2, color='r') -plt.plot(x1, y, '-', linewidth=2, color='y') -plt.plot(x, z, ':', linewidth=1, color='k') - -#Generando las intersecciones (vértices) -primera_interseccion = cuarta_linea.intersection(primera_linea) -segunda_interseccion = primera_linea.intersection(segunda_linea) -tercera_interseccion = segunda_linea.intersection(tercera_linea) -cuarta_interseccion = tercera_linea.intersection(cuarta_linea) - -#Graficando los vértices -plt.plot(*primera_interseccion.xy, 'o') -plt.plot(*segunda_interseccion.xy, 'o') -plt.plot(*tercera_interseccion.xy, 'o') -plt.plot(*cuarta_interseccion.xy, 'o') - -#Imprimiendo las coordenadas de los vértices en la consola -print('\n COORDENADAS DE LAS INTERSECCIONES') -print('Coordenadas de la primera intersección: {} '.format(primera_interseccion)) -print('Coordenadas de la segunda intersección: {} '.format(segunda_interseccion)) -print('Coordenadas de la tercera intersección: {} '.format(tercera_interseccion)) -print('Coordenadas de la cuarta intersección: {} '.format(cuarta_interseccion)) - -#Identificando los valores de las coordenadas x y y de cada vértice -xi1m, yi1m = primera_interseccion.xy -xi2m, yi2m = segunda_interseccion.xy -xi3m, yi3m = tercera_interseccion.xy -xi4m, yi4m = cuarta_interseccion.xy - -#Cambiamos el formato de matriz a float -xi1 = np.float64(np.array(xi1m)) -xi2 = np.float64(np.array(xi2m)) -xi3 = np.float64(np.array(xi3m)) -xi4 = np.float64(np.array(xi4m)) -yi1 = np.float64(np.array(yi1m)) -yi2 = np.float64(np.array(yi2m)) -yi3 = np.float64(np.array(yi3m)) -yi4 = np.float64(np.array(yi4m)) - -#Evaluando la función objetivo en cada vértice -FOi1 = (xi1 * 50) + (yi1 * 20) -FOi2 = (xi2 * 50) + (yi2 * 20) -FOi3 = (xi3 * 50) + (yi3 * 20) -FOi4 = (xi4 * 50) + (yi4 * 20) - -#Imprimiendo las evaluaciones de la FO en cada vértice (Consola) -print('\n EVALUACIÓN DE LA FO EN LOS VÉRTICES') -print('Función objetivo en la intersección 1: {} pesos'.format(FOi1)) -print('Función objetivo en la intersección 2: {} pesos'.format(FOi2)) -print('Función objetivo en la intersección 3: {} pesos'.format(FOi3)) -print('Función objetivo en la intersección 4: {} pesos'.format(FOi4)) - -#Calculando el mejor resultado (Maximizar) -ZMAX = max(FOi1, FOi2, FOi3, FOi4) - -#Imprimiendo la solución óptima en la consola -print('\n SOLUCIÓN ÓPTIMA') -print('Solución óptima: {} pesos'.format(ZMAX)) - -#Ordenando las coordenadas de los vértices (Las coordenadas x en m y las coordenadas y en n) -m = [xi1, xi2, xi3, xi4] -n = [yi1, yi2, yi3, yi4] - -#Graficando el polígono solución a partir de las coordenadas de los vértices -plt.fill(m, n, color='silver') - -#Identificando el índice del vértice de la mejor solución -dict1 = {0:FOi1, 1:FOi2, 2:FOi3, 3:FOi4} -posicion = max(dict1, key=dict1.get) - -#Obteniendo las coordenadas del vértice de la mejor solución de acuerdo al índice -XMAX = m[posicion] -YMAX = n[posicion] - -#Imprimiendo las coordenadas del vértice de la mejor solución (variables de decisión) -print('\n VARIABLES DE DECISIÓN') -print('Cantidad de asientos a reservar para fumadores: {} '.format(XMAX)) -print('Cantidad de asientos a reservar para no fumadores: {} '.format(YMAX)) - -#Generando las anotaciones de las coordenadas y solución óptima en el gráfico -plt.annotate(' X: {0} / Y: {1} (Coordenadas)'.format(XMAX, YMAX), (XMAX, YMAX)) -plt.annotate(' Solución óptima: {}'.format(ZMAX), (XMAX, YMAX+3)) - - -#Configuraciones adicionales del gráfico -plt.grid() -plt.xlabel('Asientos para fumadores') -plt.ylabel('Asientos para no fumadores') - -plt.show() diff --git a/gradient.py b/gradient.py deleted file mode 100644 index fc67ba2..0000000 --- a/gradient.py +++ /dev/null @@ -1,103 +0,0 @@ -from functools import reduce -import sympy as sp -from scipy.optimize import line_search -import numpy as np -from pprint import pprint -import json - - -EPSILON = 0.1 - - -def convert_list_to_tuples(list): - return reduce(lambda a, b: a + (b,), list, ()) - - -def gradient(vars, func, initial_point, cycles=100, verbose=False): - vars = convert_list_to_tuples([sp.symbols(v) for v in vars]) - - func = sp.parse_expr(func) - func_lambda = sp.Lambda(vars, func) - func_evaluated = lambda x: np.array([func_lambda(*x)], dtype=float) - - gradient_lambda = np.array([sp.Lambda(vars, sp.diff(func, var)) for var in vars]) - gradient_evaluated = lambda x: np.array( - [g(*x) for g in gradient_lambda], dtype=float - ) - - initial_point = np.array(initial_point, dtype=float) - - points = [ - { - "point": initial_point, - "value": func_evaluated(initial_point), - "iteration": 1, - "gradient": gradient_evaluated(initial_point), - "step_arrived": 0, - } - ] - - if verbose: - pprint(points[-1]) - - # start_point = points[-1]["point"] - for _ in range(cycles): - start_point = points[-1]["point"] - step = points[-1]["iteration"] - gradient = gradient_evaluated(start_point) - search_gradient = -1 * gradient - - try: - res = line_search( - func_evaluated, gradient_evaluated, start_point, search_gradient - ) - print(res[0]) - r_point = start_point + res[0] * search_gradient - # search_gradient = res[5] - # x_2 = [0 for _ in range(len(vars))] - # for j in range(len(vars)): - # x_2[j] = r_point[j] - start_point[j] - - # if((np.linalg.norm(gradient_evaluated(r_point)) <= 0.001) or (np.linalg.norm(x_2)/np.linalg.norm(start_point)) <= 0.001): - # break - - if points[-1]["value"] - func_evaluated(r_point) < EPSILON: - break - - points.append( - { - "point": r_point, - "value": func_evaluated(r_point), - "iteration": step + 1, - "gradient": gradient_evaluated(r_point), - "step_arrived": res[0], - } - ) - - if verbose: - pprint(points[-1]) - - except Exception as e: - break - - return { - "min": points[-1]["point"], - "min_value": points[-1]["value"], - "points": points, - } - - -def main(): - f = open("gradient.json") - data = json.load(f) - - m = gradient(**data) - min = m["min"] - min_values = m["min_value"] - - print(min, min_values) - pprint(m["points"]) - - -if __name__ == "__main__": - main() \ No newline at end of file diff --git a/myPenaltyMethod.py b/myPenaltyMethod.py deleted file mode 100644 index f844ac8..0000000 --- a/myPenaltyMethod.py +++ /dev/null @@ -1,289 +0,0 @@ -## Penalty Function method. -## Loading the libraries. -import numpy as np -from utils import * - -sol_points = [] -eps = 0.000001 #Global Var. -delta = 0.001 #Global Var. -nc = 1 ## number of constraints. -g = np.zeros(nc) - -# Devuelve el valor de la función penalizada Φ(x, u) en un punto -variables, function, constraints = read_json('settings.json') - -def multi_f(x_vector): - global variables, function, constraints - sum_ = func_eval(variables, x_vector, function) - g = get_evaluated_constraints(variables, x_vector, constraints) - - for i in range(nc): - if(g[i] < 0.0): ## meaning that the constraint is violated. - sum_ = sum_ + r*g[i]*g[i] - - return(sum_) - -## This function will give us the gradient vector.. -def grad_multi_f(grad, x_ip): - d1 = np.zeros(M) - d2 = np.zeros(M) - delta_ = 0.001 - for i in range(M): - for j in range(M): - d1[j] = x_ip[j] - d2[j] = x_ip[j] - d1[i] = d1[i] + delta_ - d2[i] = d2[i] - delta_ - - fdiff = multi_f(d1) - bdiff = multi_f(d2) - grad[i] = (fdiff-bdiff)/(2*delta_) - return grad - - -## This function finds the alphastar <<-- UNIDIRECTIONAL SEARCH,, -def uni_search(guess, x_0, s_0, a1, b1): - xd = np.zeros(M) - xw = a1 + (b1-a1)*guess - for i in range(M): - xd[i] = x_0[i] + xw*s_0[i] - return multi_f(xd) - -## BOUNDING PHASE METHOD,, TO BRACKET THE ALPHASTAR. -def bracketing_(x_0, s_0): - k=0 - - ## Step__1 - ## "choose an initial guess and increment(delta) for the Bounding phase method". - del_=0.0000001; w_0=0.5;#initial guess for bounding phase. - - while(1): - f0 = uni_search(w_0, x_0, s_0, 0.0, 1.0) - fp = uni_search(w_0+del_, x_0, s_0, 0.0, 1.0) - fn = uni_search(w_0-del_, x_0, s_0, 0.0, 1.0) - - if(fn >= f0): - if(f0 >= fp): - del_ = abs(del_) ## step__2 - break - - else: - a=w_0-del_ - b=w_0+del_ - - elif((fn <= f0) & (f0 <= fp)): - del_ = -1*abs(del_) - break - - else: - del_ /= 2.0 - - wn = w_0 - del_## wn = lower limit and w_1 = upper limit. - - ## Step__3 - w_1=w_0 + del_*pow(2,k) ## << exponential purterbation - f1=uni_search(w_1, x_0, s_0, 0.0, 1.0) - - ## Step__4 - while(f1 < f0): - k+=1 - wn=w_0 - fn=f0 - w_0=w_1 - f0=f1 - w_1=w_0 + del_*pow(2,k) - f1=uni_search(w_1, x_0, s_0, 0.0, 1.0) - - a=wn - b=w_1 - ## if del_ is + we will bracket the minima in (a, b) - ## If del_ was -, - if(b < a): - temp=a;a=b;b=temp;#swapp - return(a, b) - -# In order to apply Secant Method(In order to compute z). We need to also calculate the derivative of the F(alpha) function, -def f_dash(x_0, s_0, xm): - xd = np.zeros(M) - - # using central difference. - for i in range(M): - xd[i] = x_0[i] + (xm+delta)*s_0[i] - # fdif = multi_f(xd) - fdif = multi_f(xd) - - for i in range(M): - xd[i] = x_0[i] + (xm-delta)*s_0[i] - # bdif = multi_f(xd) - bdif = multi_f(xd) - - f_ = (fdif - bdif)/(2*delta) - return(f_) - -## This is a function to compute the "z" used in the formula of SECANT Method.. -def compute_z(x_0, s_0, x1, x2): - z_ = x2 - ((x2-x1)*f_dash(x_0, s_0, x2))/(f_dash(x_0, s_0, x2)-f_dash(x_0, s_0,x1)) - return(z_) - -def secant_minima(a, b, x_0, s_0): - ## Step__1 - x1=a - x2=b - - ##Step__2 --> Compute New point. - z = compute_z(x_0, s_0, x1, x2) - - ##Step__3 - while(abs(f_dash(x_0, s_0, z)) > eps): - if(f_dash(x_0, s_0, z) >= 0): - x2=z # i.e. eliminate(z, x2) - else: - x1=z # i.e. eliminate(x1, z) - z = compute_z(x_0, s_0, x1, x2) #Step__2 - - return(z) - -def DFP(x_ip): - eps1 = 0.0001 - eps2 = 0.0001 - - grad0=np.zeros(M) - grad1=np.zeros(M) - xdiff=np.zeros(M) - Ae=np.zeros(M) - graddiff=np.zeros(M) - x_1=np.zeros(M) - x_2=np.zeros(M) - - ## step_1 - k=0 - x_0=x_ip #This is the initial Guess_. - - ## step_2 - # s_0=np.zeros(M) ##Search Direction. - # grad0 = grad_multi_f(grad0, x_ip) - # s_0 = -grad0 - s_0 = -grad_multi_f(grad0, x_ip) - - ## step_3 --> unidirectional search along s_0 from x_0. Aim -- to find alphastar and eventually x(1). - ## find alphastar such that f(x + alphastar*s) is minimum. - a,b = bracketing_(x_0, s_0) - alphastar = secant_minima(a, b, x_0, s_0) - - for i in range(M): - x_1[i] = x_0[i] + alphastar*s_0[i] - - grad1 = grad_multi_f(grad1, x_1) # Now computing grad(x(1)).. - - ## step_4 - ## Lets initialize the matrix A, - A = np.eye(M) #Identity Matrix. - dA = np.zeros((M,M)) - A1 = np.zeros((M,M)) - - for j in range(50): # 50 is the total iterations we will perform. - k+=1 - #print("Iteration Number -- ", k) - for i in range(M): - xdiff[i]=x_1[i]-x_0[i] - graddiff[i]= grad1[i]-grad0[i] - - # Now, Applying that GIANT FORMULA.. - dr=np.inner(xdiff, graddiff) - for i in range(M): - Ae[i]=0 - for j in range(M): - dA[i][j] = (xdiff[i]*xdiff[j])/dr - Ae[i] += (A[i][j]*graddiff[j]) - - dr=np.inner(graddiff, Ae) - for i in range(M): - for j in range(M): - A1[i][j] = A[i][j] + dA[i][j] - (Ae[i]*Ae[j])/dr - A[i][j] =A1[i][j] - - ## Finding the New Search Direction s_1.. -A_1*grad(x_1) - s_1 =np.zeros(M) - for i in range(M): - s_1[i]=0 - for j in range(M): - s_1[i] += (-A1[i][j]*grad1[j]) - - ## Unit vector along s_1; - unitv = np.linalg.norm(s_1) - for j in range(M): - s_1[j] /= unitv - - ## Step__5 - # Performing Unidirectional Search along s_1 from x_1; to find x_2;) - a,b=bracketing_(x_1, s_1) - alphastar = secant_minima(a, b, x_1, s_1) - alphastar = (int)(alphastar * 1000.0)/1000.0 #Rounding alphastar to three decimal places. - for i in range(M): - x_0[i] = x_1[i] - x_1[i] = x_1[i] + alphastar*s_1[i] - - ## Step__6 --->> TERMINATION CONDITION,, - grad1 = grad_multi_f(grad1, x_1) - grad0 = grad_multi_f(grad0, x_0) - - for j in range(M): - x_2[j] = x_1[j] - x_0[j] - - if((np.linalg.norm(grad1) <= eps1) or (np.linalg.norm(x_2)/np.linalg.norm(x_0)) <= eps2): - break - - return(x_1) - -if __name__ == "__main__": - func_key_name = get_key_name(function, constraints) - x_ip = np.array([0.11, 0.1]) - M = 2 ## Specifies the total dimension we are working with.. //Global Var. - c = 1.55 ##factor for updating r. - numseq = 20 ## number of sequences for penalty function method. - r = 0.1 - grad = np.zeros(M) - sol = np.zeros(M) - sol_ = [] - x_2 = np.zeros(M) - ## has the principal values in the key name. - func_key_name += ' ('+str(x_ip)[1:len(str(x_ip))-1]+') '+str(numseq)+' '+str(r)+' '+str(c) - dic = load_saved_data(func_key_name) - if dic is None: - - ## BRACKET OPERATOR PENALTY METHOD..1.1,1.1 - for k in range(numseq): - print('\n') - print('sequence number ', k) - print('current function value is ', multi_f(x_ip)) - x_1 = np.copy(x_ip) - sol = DFP(x_ip) - x_ip = np.copy(x_1) - - for j in range(M): - x_2[j] = sol[j] - x_ip[j] - track = np.linalg.norm(x_2)/np.linalg.norm(x_ip) - sol_ = [] - for i in range(M): - print(sol[i]) - sol_.append(sol[i]) - x_ip[i] = sol[i] - sol_points.append(sol_) - r*= c - if track <= 0.001: - break - sol_.append(func_eval(variables, sol_, function)) - dic = { - func_key_name: { - 'iterations': k, - 'points': str(sol_points), - 'min': str(sol_), - } - } - save_process(dic) - else: - dic = load_saved_data(func_key_name) - print('\n') - print('sequence number ', dic['iterations']) - print('the sequence of points was ', '\n['.join(dic['points'][1:len(dic['points'])-1].split('['))+'\n') - print('the final solution was ', dic['min']) \ No newline at end of file diff --git a/newton.py b/newton.py deleted file mode 100644 index 2f4890c..0000000 --- a/newton.py +++ /dev/null @@ -1,55 +0,0 @@ -from functools import reduce -import sympy as sp -from scipy.optimize import minimize -import numpy as np -# from pprint import pprint -# import json - - -def convert_list_to_tuples(list): - return reduce(lambda a, b: a + (b,), list, ()) - - -def newton(vars, func, initial_point, cycles=100, verbose=False): - vars = convert_list_to_tuples([sp.symbols(v) for v in vars]) - - func = sp.parse_expr(func) - func_lambda = sp.Lambda(vars, func) - func_evaluated = lambda x: np.array([func_lambda(*x)], dtype=float) - - gradient_lambda = np.array([sp.Lambda(vars, sp.diff(func, var)) for var in vars]) - gradient_evaluated = lambda x: np.array( - [g(*x) for g in gradient_lambda], dtype=float - ) - - initial_point = np.array(initial_point, dtype=float) - - m = minimize( - func_evaluated, - initial_point, - method="Newton-CG", - jac=gradient_evaluated, - options={"return_all": True, "maxiter": cycles}, - ) - - return { - "min": m["x"], - "min_value": m["fun"], - "points": m["allvecs"], - } - - -# def main(): -# f = open("newton.json") -# data = json.load(f) - -# m = newton(**data) -# min = m["min"] -# min_values = m["min_value"] - -# print(min, min_values) -# pprint(m["points"]) - - -# if __name__ == "__main__": -# main() \ No newline at end of file diff --git a/penalty.py b/penalty.py deleted file mode 100644 index 8ee042e..0000000 --- a/penalty.py +++ /dev/null @@ -1,262 +0,0 @@ - -## Penalty Function method. -## Loading the libraries. -import numpy as np - -eps = 0.000001 #Global Var. -delta = 0.001 #Global Var. -nc = 1 ## number of constraints. -g = np.zeros(nc) - -## This function will give the functional value at a point, -def multi_f(x): - ## Himmel Blau function! - sum_ = pow((pow(x[0],2) + x[1] - 11),2) + pow((pow(x[1],2) + x[0] - 7),2) - g[0] = -26.0 + pow((x[0]-5.0), 2) + pow(x[1],2);#constraints. - - for i in range(nc): - if(g[i] < 0.0): ## meaning that the constraint is violated. - sum_ = sum_ + r*g[i]*g[i]; - - return(sum_) - -## This function will give us the gradient vector.. -def grad_multi_f(grad, x_ip): - d1 = np.zeros(M); - d2 = np.zeros(M); - delta_=0.001; - - for i in range(M): - for j in range(M): - d1[j]=x_ip[j]; d2[j]=x_ip[j]; - - d1[i] = d1[i] + delta_; - d2[i] = d2[i] - delta_; - - fdiff = multi_f(d1); bdiff = multi_f(d2); - grad[i] = (fdiff - bdiff)/(2*delta_); - - return(grad) - -## This function finds the alphastar <<-- UNIDIRECTIONAL SEARCH,, -def uni_search(guess, x_0, s_0, a1, b1): - xd = np.zeros(M); - xw = a1 + (b1-a1)*guess; - for i in range(M): - xd[i] = x_0[i] + xw*s_0[i] - return multi_f(xd) - -## BOUNDING PHASE METHOD,, TO BRACKET THE ALPHASTAR. -def bracketing_(x_0, s_0): - k=0; - - ## Step__1 - ## "choose an initial guess and increment(delta) for the Bounding phase method". - del_=0.0000001; w_0=0.5;#initial guess for bounding phase. - - while(1): - f0 = uni_search(w_0, x_0, s_0, 0.0, 1.0); - fp = uni_search(w_0+del_, x_0, s_0, 0.0, 1.0); - fn = uni_search(w_0-del_, x_0, s_0, 0.0, 1.0); - - if(fn >= f0): - if(f0 >= fp): - del_ = abs(del_); ## step__2 - break; - - else: - a=w_0-del_; - b=w_0+del_; - - elif((fn <= f0) & (f0 <= fp)): - del_ = -1*abs(del_); - break; - - else: - del_ /= 2.0; - - wn = w_0 - del_;## wn = lower limit and w_1 = upper limit. - - ## Step__3 - w_1=w_0 + del_*pow(2,k); ## << exponential purterbation - f1=uni_search(w_1, x_0, s_0, 0.0, 1.0); - - ## Step__4 - while(f1 < f0): - k+=1; - wn=w_0; - fn=f0; - w_0=w_1; - f0=f1; - w_1=w_0 + del_*pow(2,k); - f1=uni_search(w_1, x_0, s_0, 0.0, 1.0); - - a=wn; - b=w_1; - ## if del_ is + we will bracket the minima in (a, b); - ## If del_ was -, - if(b < a): - temp=a;a=b;b=temp;#swapp - return(a, b) - -# In order to apply Secant Method(In order to compute z). We need to also calculate the derivative of the F(alpha) function, -def f_dash(x_0, s_0, xm): - xd = np.zeros(M); - - # using central difference. - for i in range(M): - xd[i] = x_0[i] + (xm+delta)*s_0[i]; - fdif = multi_f(xd); - - for i in range(M): - xd[i] = x_0[i] + (xm-delta)*s_0[i]; - bdif = multi_f(xd); - - f_ = (fdif - bdif)/(2*delta); - return(f_) - -## This is a function to compute the "z" used in the formula of SECANT Method.. -def compute_z(x_0, s_0, x1, x2): - z_ = x2 - ((x2-x1)*f_dash(x_0, s_0, x2))/(f_dash(x_0, s_0, x2)-f_dash(x_0, s_0,x1)); - return(z_) - -def secant_minima(a, b, x_0, s_0): - ## Step__1 - x1=a; - x2=b; - - ##Step__2 --> Compute New point. - z = compute_z(x_0, s_0, x1, x2); - - ##Step__3 - while(abs(f_dash(x_0, s_0, z)) > eps): - if(f_dash(x_0, s_0, z) >= 0): - x2=z; # i.e. eliminate(z, x2) - else: - x1=z; # i.e. eliminate(x1, z) - z = compute_z(x_0, s_0, x1, x2); #Step__2 - - return(z) - -def DFP(x_ip): - eps1 = 0.0001; - eps2 = 0.0001; - - grad0=np.zeros(M); - grad1=np.zeros(M); - xdiff=np.zeros(M); - Ae=np.zeros(M); - graddiff=np.zeros(M); - x_1=np.zeros(M); - x_2=np.zeros(M); - - ## step_1 - k=0; - x_0=x_ip #This is the initial Guess_. - - ## step_2 - s_0=np.zeros(M); ##Search Direction. - grad0 = grad_multi_f(grad0, x_ip); - s_0 = -grad0 - - ## step_3 --> unidirectional search along s_0 from x_0. Aim -- to find alphastar and eventually x(1). - ## find alphastar such that f(x + alphastar*s) is minimum. - a,b = bracketing_(x_0, s_0); - alphastar = secant_minima(a, b, x_0, s_0); - - for i in range(M): - x_1[i] = x_0[i] + alphastar*s_0[i]; - - grad1 = grad_multi_f(grad1, x_1); # Now computing grad(x(1)).. - - ## step_4 - ## Lets initialize the matrix A, - A = np.eye(M) #Identity Matrix. - dA = np.zeros((M,M)) - A1 = np.zeros((M,M)) - - for j in range(50): # 50 is the total iterations we will perform. - k+=1; - #print("Iteration Number -- ", k) - for i in range(M): - xdiff[i]=x_1[i]-x_0[i]; - graddiff[i]= grad1[i]-grad0[i]; - - # Now, Applying that GIANT FORMULA.. - dr=np.inner(xdiff, graddiff); - for i in range(M): - Ae[i]=0; - for j in range(M): - dA[i][j] = (xdiff[i]*xdiff[j])/dr; - Ae[i] += (A[i][j]*graddiff[j]); - - dr=np.inner(graddiff, Ae) - for i in range(M): - for j in range(M): - A1[i][j] = A[i][j] + dA[i][j] - (Ae[i]*Ae[j])/dr; - A[i][j] =A1[i][j]; - - ## Finding the New Search Direction s_1.. -A_1*grad(x_1) - s_1 =np.zeros(M); - for i in range(M): - s_1[i]=0; - for j in range(M): - s_1[i] += (-A1[i][j]*grad1[j]); - - ## Unit vector along s_1; - unitv = np.linalg.norm(s_1); - for j in range(M): - s_1[j] /= unitv; - - ## Step__5 - # Performing Unidirectional Search along s_1 from x_1; to find x_2;) - a,b=bracketing_(x_1, s_1); - alphastar = secant_minima(a, b, x_1, s_1); - alphastar = (int)(alphastar * 1000.0)/1000.0; #Rounding alphastar to three decimal places. - for i in range(M): - x_0[i] = x_1[i]; - x_1[i] = x_1[i] + alphastar*s_1[i]; - - ## Step__6 --->> TERMINATION CONDITION,, - grad1 = grad_multi_f(grad1, x_1); - grad0 = grad_multi_f(grad0, x_0); - - for j in range(M): - x_2[j] = x_1[j] - x_0[j]; - - if((np.linalg.norm(grad1) <= eps1) or (np.linalg.norm(x_2)/np.linalg.norm(x_0)) <= eps2): - break; - - return(x_1) - -if __name__ == "__main__": - M = 2 ## Specifies the total dimension we are working with.. //Global Var. - c=1.55; ## factor for updating r. - numseq = 20; ## number of sequences for penalty function method. - r = 0.1 - - x_ip = np.array([0.11,0.1])## Our initial guess, - grad = np.zeros(M) - sol = np.zeros(M); - x_2 = np.zeros(M); - - ## BRACKET OPERATOR PENALTY METHOD..1.1,1.1 - for k in range(numseq): - print("\n") - print("sequence number ", k) - print("current function value is ", multi_f(x_ip)) - x_1 = np.copy(x_ip); - sol = DFP(x_ip); - x_ip = np.copy(x_1); - - for j in range(M): - x_2[j] = sol[j] - x_ip[j]; - - track = np.linalg.norm(x_2)/np.linalg.norm(x_ip); - for i in range(M): - print(sol[i]); - x_ip[i] = sol[i] - - r *= c; - if(track <= 0.001):# TERMINATION CONDITION. - break; \ No newline at end of file diff --git a/penalty_gradient.py b/penalty_gradient.py deleted file mode 100644 index 04a985b..0000000 --- a/penalty_gradient.py +++ /dev/null @@ -1,88 +0,0 @@ -## Penalty Function method. -## Loading the libraries. -from scipy.optimize import line_search -from gradient import gradient -from utils import * -import numpy as np - - -# Devuelve el valor de la función penalizada Φ(x, u) en un punto - -# minimize = 0, maximize = 1 -def penalty_gradient(): - with open('penalty_settings.json') as settings: - data = json.load(settings) - numseq = data['Penalty_number_of_sequence'] - r = data['Penalty_penalty_factor'] - c = data['Penalty_update_factor'] - constraints = data['Penalty_constraints'] - min_or_max = data['Penalty_max_or_min'] - x_ip = data['Penalty_init_point'] - function = data['Penalty_func'] - variables = data['Penalty_vars'] - - variables = convert_list_to_tuples(variables) - M = len(variables) ## Specifies the total dimension we are working with.. //Global Var. - sol = np.zeros(M) - x_2 = np.zeros(M) - penalty_func = '' - sol_ = [] - sol_points = [] - - if min_or_max == 1: - function = '-('+function+')' - - func_key_name = get_key_name(function, constraints) - ## has the principal values in the key name. - func_key_name += ' ('+str(x_ip)[1:len(str(x_ip))-1]+') '+str(numseq)+' '+str(r)+' '+str(c) - dic = load_saved_data(func_key_name) - - if dic is None: - for k in range(numseq): - print('\n') - print('sequence number ', k) - _, func, penalty_func, penalty_lambda, _, _ = get_penalty_func(function, constraints, variables, r, min_or_max) - - sum_ = penalty_lambda(*x_ip) - print('current function value is ', sum_) - x_1 = np.copy(x_ip) - m = gradient(variables, str(penalty_func), x_ip) - sol = m["min"] - x_ip = np.copy(x_1) - - for j in range(M): - x_2[j] = sol[j] - x_ip[j] - - track = np.linalg.norm(x_2)/np.linalg.norm(x_ip) - sol_ = [] - - for i in range(M): - print(sol[i]) - sol_.append(sol[i]) - x_ip[i] = sol[i] - - sol_points.append(sol_) - r*= c - - if track <= 0.001: - break - - sol_.append(func_eval(variables, sol_, func)) - dic = { - func_key_name: { - 'iterations': k, - 'points': str(sol_points), - 'min': str(sol_), - } - } - save_process(dic) - return dic - else: - dic = load_saved_data(func_key_name) - print('\n') - print('sequence number ', dic['iterations']) - print('the sequence of points was ', '\n['.join(dic['points'][1:len(dic['points'])-1].split('['))+'\n') - print('the final solution was ', dic['min']) - return dic - -# dict_ = penalty_gradient() \ No newline at end of file diff --git a/penalty_newton.py b/penalty_newton.py deleted file mode 100644 index aaee8a4..0000000 --- a/penalty_newton.py +++ /dev/null @@ -1,88 +0,0 @@ -## Penalty Function method. -## Loading the libraries. -from scipy.optimize import line_search -from newton import newton -from utils import * -import numpy as np - - -# Devuelve el valor de la función penalizada Φ(x, u) en un punto - -# minimize = 0, maximize = 1 -def penalty_newton(): - with open('penalty_settings.json') as settings: - data = json.load(settings) - numseq = data['Penalty_number_of_sequence'] - r = data['Penalty_penalty_factor'] - c = data['Penalty_update_factor'] - constraints = data['Penalty_constraints'] - min_or_max = data['Penalty_max_or_min'] - x_ip = data['Penalty_init_point'] - function = data['Penalty_func'] - variables = data['Penalty_vars'] - - variables = convert_list_to_tuples(variables) - M = len(variables) ## Specifies the total dimension we are working with.. //Global Var. - sol = np.zeros(M) - x_2 = np.zeros(M) - penalty_func = '' - sol_ = [] - sol_points = [] - - if min_or_max == 1: - function = '-('+function+')' - - func_key_name = get_key_name(function, constraints) - ## has the principal values in the key name. - func_key_name += ' ('+str(x_ip)[1:len(str(x_ip))-1]+') '+str(numseq)+' '+str(r)+' '+str(c) - dic = load_saved_data(func_key_name) - - if dic is None: - for k in range(numseq): - print('\n') - print('sequence number ', k) - _, func, penalty_func, penalty_lambda, _, _ = get_penalty_func(function, constraints, variables, r)#min_or_max) - - sum_ = penalty_lambda(*x_ip) - print('current function value is ', sum_) - x_1 = np.copy(x_ip) - m = newton(variables, str(penalty_func), x_ip) - sol = m["min"] - x_ip = np.copy(x_1) - - for j in range(M): - x_2[j] = sol[j] - x_ip[j] - - track = np.linalg.norm(x_2)/np.linalg.norm(x_ip) - sol_ = [] - - for i in range(M): - print(sol[i]) - sol_.append(sol[i]) - x_ip[i] = sol[i] - - sol_points.append(sol_) - r*= c - - if track <= 0.001: - break - - sol_.append(func_eval(variables, sol_, func)) - dic = { - func_key_name: { - 'iterations': k, - 'points': str(sol_points), - 'min': str(sol_), - } - } - save_process(dic) - return dic - else: - dic = load_saved_data(func_key_name) - print('\n') - print('sequence number ', dic['iterations']) - print('the sequence of points was ', '\n['.join(dic['points'][1:len(dic['points'])-1].split('['))+'\n') - print('the final solution was ', dic['min']) - return dic - -# dict_ = penalty_newton() \ No newline at end of file diff --git a/penalty_settings.json b/penalty_settings.json deleted file mode 100644 index e1a077b..0000000 --- a/penalty_settings.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "Penalty_number_of_sequence": 20, - "Penalty_penalty_factor": 0.1, - "Penalty_update_factor": 0.155, - "Penalty_constraints" : ["x>=0", "y>=0", "(x-5)**2 + y**2 - 26 >= 0"], - "Penalty_max_or_min": 0, - "Penalty_init_point": [0.11, 0.11], - "Penalty_x_range": [-20, 20, 1], - "Penalty_y_range": [-20, 20, 1], - "Penalty_func" : "(x**2 + y - 11)+(x + y**2 - 7)**2", - "Penalty_vars" : ["x", "y"] -} \ No newline at end of file diff --git a/settings.json b/settings.json deleted file mode 100644 index 19633c6..0000000 --- a/settings.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "Penalty_number_of_sequence": 20, - "Penalty_penalty_factor": 0.1, - "Penalty_update_factor": 0.155, - "Penalty_constraints" : ["x>=2", "y<=10"], - "Penalty_max_or_min": 0, - "Penalty_init_point": [2.3, 3], - "Penalty_x_range": [-20, 20, 1], - "Penalty_y_range": [-20, 20, 1], - "Penalty_func" : "x**2+y**2", - "Penalty_vars" : ["x", "y"] -} \ No newline at end of file diff --git a/testnp.py b/testnp.py deleted file mode 100644 index 96c9109..0000000 --- a/testnp.py +++ /dev/null @@ -1,75 +0,0 @@ -import json -import sympy as sym -from sympy.parsing.sympy_parser import parse_expr - -g = list() -# x = list() -# x.append("x0") -# for i in range(1,20): -# q="x"+str(i) -# x.append(sym.Symbol(q)) -# print(x) - -# f='x**2+2y+1'#input("f(x)=x**2+x") -# f=parse_expr(f) -# print(f.subs('x', 2)) -def move_inequality_constants(ineq): - l = ineq.lhs - r = ineq.rhs - op = ineq.rel_op - - if op.__contains__('<'): - return l - r - else: - return r - l -def func_eval(x_vector, value_vector, func): - f = func - for x_i, v_i in zip(x_vector, value_vector): - f = f.subs(x_i, v_i) - return f -# f1 = lambda x,y: x**2+y+1 -# print(f1(1,2)) -with open('settings.json') as settings: - data = json.load(settings) - -x = data['vars'] -f = data['func'] -constraints = data['constraints'] - -c = parse_expr(constraints[0]) -c = move_inequality_constants(c) -print(c) - -f = parse_expr(f) -values = [2,2] - -print(func_eval(x, values, f)) - -gfg = sym.Lambda(x, f) -print(gfg(2,2)) - -def get_constraints(constraints): - g = list() - for c in constraints: - g.append((move_inequality_constants(parse_expr(c)))) - - -# def multi_f(x_vector): -# with open('settings.json') as settings: -# data = json.load(settings) - -# x = data['vars'] -# f = data['func'] -# constraints = data['constraints'] -# c = parse_expr(constraints[0]) -# c = move_inequality_constants(c) -# function = parse_expr(f) -# sum_ = func_eval(x_vector, values, function) -# # sum_ = pow((pow(x[0],2) + x[1] - 11),2) + pow((pow(x[1],2) + x[0] - 7),2) -# g[0] = -26.0 + pow((x[0]-5.0), 2) + pow(x[1],2)#constraints. - -# for i in range(nc): -# if(g[i] < 0.0): ## meaning that the constraint is violated. -# sum_ = sum_ + r*g[i]*g[i] - -# return(sum_) \ No newline at end of file diff --git a/utils.py b/utils.py deleted file mode 100644 index 7813291..0000000 --- a/utils.py +++ /dev/null @@ -1,396 +0,0 @@ -import json -from functools import reduce -import sympy as sym -from sympy.parsing.sympy_parser import parse_expr, standard_transformations, convert_equals_signs -import math -def move_inequality_constants(ineq): - l = ineq.lhs - r = ineq.rhs - op = ineq.rel_op - - #revisar como es para minimo - # if op.__contains__('<'): - if op.__contains__('>'): - return l - r - else: - return r - l - -def func_eval(x_vector, value_vector, func): - f = func - for x_i, v_i in zip(x_vector, value_vector): - f = f.subs(x_i, v_i) - return f - -def get_lambda(x_vector, f): - return sym.Lambda(('x', 'y'), f) - # return sym.Lambda(x_vector, f) - -def get_constraints(constraints): - result = list() - for c in constraints: - result.append((move_inequality_constants(parse_expr(c)))) - return result - -def get_evaluated_constraints(variables, values, constraints): - result = list() - for con in constraints: - result.append(func_eval(variables, values, con)) - return result - -def read_json(path): - with open(path) as settings: - data = json.load(settings) - - f = data['Penalty_func'] - variables = data['Penalty_vars'] - c = data['Penalty_constraints'] - - constraints = get_constraints(c) - function = parse_expr(f) - - return variables, function, constraints - -def convert_list_to_tuples(list): - return reduce(lambda a, b: a + (b,), list, ()) - -def save_process(my_dict): - with open('data.json', 'r') as fp1: - data = json.load(fp1) - for key in my_dict.keys(): - data[key] = my_dict[key] - with open('data.json', 'w') as fp: - json.dump(data, fp) - -def load_saved_data(key): - with open('data.json', 'r') as fp: - data = json.load(fp) - try: - return data[key] - except KeyError: - return None - -def get_key_name(func, constraints): - f = str(func) + ' ' - for i, c in enumerate(constraints): - f+= str(c) + ' ' if i != len(constraints) else str(c) - return f - - -x = sym.Symbol('x') -y = sym.Symbol('y') -# def get_min_cleared_constraint(ineq): -# l = ineq.lhs -# r = ineq.rhs -# if len(l.free_symbols) == 2: -# # estan ambas dos en la izquierda aún -# newr = r -# for arg in l.args: -# if arg.free_symbols.__contains__(y): -# newl = arg -# continue -# if l.is_Add: -# newr -= arg -# elif l.is_Mul: -# newr /= arg -# return get_min_cleared_constraint(newl >= newr) -# if len(l.free_symbols) == 1: -# if l.free_symbols.__contains__(y): -# if len(l.args) == 0: -# return ineq -# else: -# newr = r -# for arg in l.args: -# if arg.free_symbols.__contains__(y): -# newl = arg -# continue -# if l.is_Add: -# newr -= arg -# elif l.is_Mul: -# newr /= arg -# return get_min_cleared_constraint(newl >= newr) -# elif l.free_symbols.__contains__(x): -# if len(l.args) == 0: -# return ineq -# else: -# newr = r -# for arg in l.args: -# if arg.free_symbols.__contains__(x): -# newl = arg -# continue -# if l.is_Add: -# newr -= arg -# elif l.is_Mul: -# newr /= arg -# return get_min_cleared_constraint(newl >= newr) - # if ineq.rel_op.__contains__('>'): - # return newl >= newr - # else: - # return newl <= newr - -# x**2 = 4 => x = log4_2 - -def get_cleared_constraint(ineq): - if len(ineq.free_symbols) >= 2: - if ineq.free_symbols.__contains__(y): - a = sym.solve(ineq, y) - return a.args[1] - else: - a = sym.solve(ineq, x) - return a.args[1] - else: - if ineq.free_symbols.__contains__(y): - a = sym.solve(ineq, y) - return a.args[0] - else: - a = sym.solve(ineq, x) - return a.args[0] -def get_eq_cleared_constraint(ineq): - if len(ineq.free_symbols) >= 2: - if ineq.free_symbols.__contains__(y): - a = sym.solve(ineq, y) - return a[0], y - else: - a = sym.solve(ineq, x) - return a[0], x - else: - if ineq.free_symbols.__contains__(y): - a = sym.solve(ineq, y) - return a[0], y - else: - a = sym.solve(ineq, x) - return a[0], x - -def move_inequality_to_min(ineq): - l = ineq.lhs - r = ineq.rhs - op = ineq.rel_op - - if op.__contains__('>'): - return ineq - else: - return -1*l >= -1*r -def move_inequality_to_max(ineq): - l = ineq.lhs - r = ineq.rhs - op = ineq.rel_op - - if op.__contains__('<'): - return ineq - else: - return -1*l <= -1*r -#max_or_min = 0 means doing minimun -def get_constraints_cleared(ineqs_, max_or_min=0): - ineqs = [get_cleared_constraint(ineq) for ineq in ineqs_] - # ineqs = [move_inequality_to_min(i) if max_or_min == 0 else move_inequality_to_max(i) for i in ineqs] - return ineqs -def get_lambdas(ineqs): - lam = [] - for i in ineqs: - l = i.lhs - r = i.rhs - if len (l.free_symbols) == 1: - syms = [s for s in r.free_symbols] - if len(syms) == 0: - syms = [x] if r.free_symbols.__contains__(y) else [y] - lam.append(sym.Lambda(syms, r)) - elif len (l.free_symbols) == 0: - syms = [x] if r.free_symbols.__contains__(y) else [y] - lam.append(sym.Lambda(syms, l)) - else: - syms = [s for s in l.free_symbols] - lam.append(sym.Lambda(syms, l)) - return lam -def get_eq(ineqs): - lam = [] - for i in ineqs: - l = i.lhs - r = i.rhs - if len (l.free_symbols) == 1: - lam.append(r) - else: - lam.append(l) - return lam - -def check_constraint_point(x_, y_, constraints_, lambdas_): - for c, l in zip(constraints_,lambdas_): - op = c[1] - _y = l(x_) - if op.__contains__('>') and y_ < _y: - return False - elif op.__contains__('<') and y_ > _y: - return False - return True -def check_eq_constraint_point(x_, y_, lambdas_): - for l in lambdas_: - _y = l(x_) - if _y != y_: - return False - return True -# ineqs = [] -# ineqs.append(parse_expr('20*x+50*y <= 3000')) -# ineqs.append(parse_expr('x+y <= 90')) -# ineqs.append(parse_expr('y >= 10')) -# ineqs.append(parse_expr('y >= 0')) -# ineqs.append(parse_expr('x >= 0')) -# ineqs.append(parse_expr('10000*x+6000*y >= z')) -# converted = get_min_constraints_cleared(ineqs) - -# a = 0 - -# def move_inequality_constants(ineq): -# l = ineq.lhs -# r = ineq.rhs -# op = ineq.rel_op - -# if op == "<=": -# return sym.GreaterThan(r - l, 0) -# elif op == "<": -# return sym.StrictGreaterThan(r - l, 0) -# elif op == ">=": -# return sym.GreaterThan(l - r, 0) -# elif op == ">": -# return sym.StrictGreaterThan(l - r, 0) -# elif op == "=": -# return sym.Eq(l - r, 0) -################## geometric ################### -def get_geometric_ineqs_and_eqs(constraints): - ineqs = [] - eqs = [] - for c in constraints: - con = parse_expr(c, transformations = standard_transformations+(convert_equals_signs,)) - l = con.lhs - r = con.rhs - op = con.rel_op - - if op == "<=": - ineqs.append(con) - elif op == "<": - ineqs.append(con) - elif op == ">=": - ineqs.append(con) - elif op == ">": - ineqs.append(con) - elif op == "==": - eqs.append(con) - return ineqs, eqs - -################### penalty ###################### -def get_penalty_ineqs_and_eqs(constraints): - ineqs = [] - eqs = [] - for c in constraints: - con = parse_expr(c, transformations = standard_transformations+(convert_equals_signs,)) - l = con.lhs - r = con.rhs - op = con.rel_op - - if op == "<=": - ineqs.append(con) - elif op == "<": - ineqs.append(con) - elif op == ">=": - ineqs.append(con) - elif op == ">": - ineqs.append(con) - elif op == "==": - eqs.append(con) - return ineqs, eqs - -def get_penalty_eq_constraints(eqs): - if len(eqs) == 0: - return [], None - result = list() - total_eq = eqs[0] - result.append(total_eq.lhs-total_eq.rhs) - total_eq = (result[0])**2 - for eq in eqs[1:]: - parsed_eq = eq - result.append(parsed_eq.lhs-parsed_eq.rhs) - total_eq += (parsed_eq.lhs-parsed_eq.rhs)**2 - return result, total_eq - -################### penalty for minimize -def move_inequality_constants_minimize(ineq): - l = ineq.lhs - r = ineq.rhs - op = ineq.rel_op - - if op.__contains__('>'): - return l - r - else: - return r - l - - -def get_penalty_ineq_constraints_minimize(ineqs): - if len(ineqs) == 0: - return [], None - result = list() - total_ineq = move_inequality_constants_minimize(ineqs[0]) - result.append(total_ineq) - total_ineq = (sym.Max(0, total_ineq))**2 - for c in ineqs[1:]: - ineq = move_inequality_constants_minimize(c) - result.append(ineq) - total_ineq += (sym.Max(0, ineq))**2 - return result, total_ineq - -def get_penalty_func_minimize(func, ineqs, eqs, variables, step): - penalty_func = func = parse_expr(func) - parsed_eqs, eqs_func = get_penalty_eq_constraints(eqs) - parsed_ineqs, ineqs_func = get_penalty_ineq_constraints_minimize(ineqs) - penalty_func = penalty_func + step * eqs_func if eqs_func is not None else penalty_func - penalty_func = penalty_func + step * ineqs_func if ineqs_func is not None else penalty_func - penalty_lambda = sym.Lambda((variables[0], variables[1]), penalty_func) - return func, penalty_func, penalty_lambda, parsed_eqs, parsed_ineqs - -################### penalty for maximize -def move_inequality_constants_maximize(ineq): - l = ineq.lhs - r = ineq.rhs - op = ineq.rel_op - - if op.__contains__('<'): - return l - r - else: - return r - l - -def get_penalty_ineq_constraints_maximize(ineqs): - if len(ineqs) == 0: - return [], None - result = list() - total_ineq = move_inequality_constants_maximize(ineqs[0]) - result.append(total_ineq) - total_ineq = sym.Max(0, total_ineq) - for c in ineqs[1:]: - result.append((move_inequality_constants_maximize(c))) - total_ineq += sym.Max(0, move_inequality_constants_maximize(c)) - return result, total_ineq - -def get_penalty_func_maximize(func, ineqs, eqs, variables, step): - penalty_func = func = parse_expr(func) - parsed_eqs, eqs_func = get_penalty_eq_constraints(eqs) - parsed_ineqs, ineqs_func = get_penalty_ineq_constraints_maximize(ineqs) - penalty_func = penalty_func + step * eqs_func if eqs_func is not None else penalty_func - penalty_func = penalty_func + step * ineqs_func if ineqs_func is not None else penalty_func - penalty_lambda = sym.Lambda((variables[0], variables[1]), penalty_func) - return func, penalty_func, penalty_lambda, parsed_eqs, parsed_ineqs - -################################################################# -# 0 for minimize, 1 for maximize -def get_penalty_func(func, constraints, variables, step, max_or_min = 0): - ineqs, eqs = get_penalty_ineqs_and_eqs(constraints) - if max_or_min == 0: # minimize - return ineqs, *get_penalty_func_minimize(func, ineqs, eqs, variables, step) - else: # maximize - return ineqs, *get_penalty_func_maximize(func, ineqs, eqs, variables, step) - -def read_dots_from_json(string_): - dots = [] - splited_text = (string_[2:len(string_)-2].split('[')) - for splited in splited_text[:len(splited_text)-1]: - new_splited = splited.split(', ') - dots.append((float(new_splited[0]), float(new_splited[1][:len(new_splited[1])-1]))) - a = 0 - last_row = splited_text[-1].split(', ') - dots.append((float(last_row[0]), float(last_row[1]))) - return dots \ No newline at end of file