Ortega Escobar, Rafael - Anexo 2. Código del lenguaje de programación AG I - Distribución de planta a través de la aplicación de un algoritmo genético Reportar como inadecuado




Ortega Escobar, Rafael - Anexo 2. Código del lenguaje de programación AG I - Distribución de planta a través de la aplicación de un algoritmo genético - Descarga este documento en PDF. Documentación en PDF para descargar gratis. Disponible también para leer online.

Ortega Escobar, Rafael - Anexo 2. Código del lenguaje de programación AG I - Distribución de planta a través de la aplicación de un algoritmo genético -- Licenciatura en Ingeniería Industrial. - Departamento de Ingeniería Industrial y Textil. - Escuela de Ingeniería, - Universidad de las Américas Puebla.


Introducción



Anexo 2 Código del lenguaje de programación AG I Código del lenguaje de programación AG I Option Base 1 Public veces, generaciones As Integer Dim tam, lugar, num, diferente, columna As Integer Dim madre, padre As String Dim Primerpadre, Segundopadre As Double Dim matriz1, matriz2 Dim MatrizFlujo() As Single Dim MatrizDistancia() As Single Dim MatrizDiferentes() As Integer Dim MatrizCantidad() As Integer Dim MAleatoria() As Integer Dim MOrdenada() As Integer Dim MNueva() As Integer Dim MTemp() As Integer Dim MInmigrante() As Integer Dim MatrizPadres() As Integer Dim MatrizPadresRed() As Integer Dim MatrizHijos() As Integer Dim MatrizHijosRed() As Integer Dim MatrizResultados() As Integer Sub CORRIDAS() 'En la Hoja -Corridas- guarda resultados obtenidos Application.ScreenUpdating = False Sheets(-Flujo-).Activate Range(Cells(1, 1), Cells(1, 1).End(xlToRight)).Select tam = Selection.Cells.Count num = 0 contador = 0 GUARDADISTANCIA GUARDAFLUJO Sheets(-Corridas-).Activate numveces = 0 For i = 1 To veces PRINCIPAL ActiveSheet.Cells(i, 1) = Primerpadre ActiveSheet.Cells(i, 2) = Segundopadre ActiveSheet.Cells(i, 3) = matriz1 ActiveSheet.Cells(i, 4) = matriz2 numveces = numveces + 1 Porcentaje = numveces - veces With Generacion .ProgressBar1.Value = Porcentaje * 100 .ProgressBar1.Refresh End With Next i Unload Generacion End Sub Sub PRINCIPAL() 'Obtiene las generaciones de dos permutaciones iniciales y devuelve la mejor ReDim MatrizCantidad(tam, tam) As Integer POBLACIONINICIAL MejordeTodos = FUNCIONOBJETIVO(MatrizPadres(), 1) MejorMatriz = MOSTRARMATRIZ(MatrizPadres(), 1, tam) Do Until contador = generaciones CUENTAPOSICION If FUNCIONOBJETIVO(MatrizPadres(), 1) = FUNCIONOBJETIVO(MatrizPadres(), 2) Then cuentainmigrante = cuentainmigrante + 1 INMIGRANTE For p = 1 To tam MatrizPadres(2, p) = MInmigrante(p) Next p End If SELECCION ESCOGEPADRES contador = contador + 1 Loop Primerpadre = FUNCIONOBJETIVO(MatrizPadres(), 1) Segundopadre = FUNCIONOBJETIVO(MatrizPadres(), 2) ...






Documentos relacionados