function resolverSudoku($inicio, $alfa, $gamma, $maxIter, $tempInicial) { $tablero = inicializar($inicio); $sol = array(); $tipos = array(); buscarSolucionInicial($tablero, $sol, $proteccion); $mejorSudoku = $sol; $costoActual = $mejorCosto = costo($mejorSudoku); $it = 0; $temp = $tempInicial; //echo "<br>COSTO:".$costoActual; //imprimir($sol, $proteccion); flush(); $yaUsadas = array(); while ($it < $maxIter && $mejorCosto != 0) { $nuevaSol = busqLocal($sol, $proteccion, 1); $nuevoCosto = costo($nuevaSol); $e = exp(($costoActual - $nuevoCosto) / $temp); $rand = mt_rand() / mt_getrandmax(); /*if ($it % 100000 == 0){ echo "IT: $it MEJOR: $mejorCosto ACTUAL: $costoActual NUEVO: $nuevoCosto",'<br>'; echo "E: $e = exp($costoActual - $nuevoCosto / $temp) - RAND: $rand<br>"; }*/ if ($rand < $e && !isset($yaUsadas[md5(serialize($nuevaSol))])) { $sol = $nuevaSol; $costoActual = $nuevoCosto; $yaUsadas[md5(serialize($nuevaSol))] = true; } if ($costoActual < $mejorCosto) { $mejorSudoku = $sol; $mejorCosto = $costoActual; $temp = $tempInicial; } if ($nuevoCosto == 0) { $sol = $nuevaSol; $costoActual = $nuevoCosto; break; } $temp = max(0.1, $alfa * $temp); $it++; } //echo '<br><br><hr><br>'; //echo "ITERACIONES TOTALES: $it",'<br>'; //echo "COSTO:".costo($mejorSudoku); //imprimir($mejorSudoku, $proteccion); //print_r($yaUsadas); return costo($mejorSudoku) == 0; }
<?php include '../../librerias/conexion.php'; include '../../librerias/quitar.php'; //print_r($_REQUEST); $codigoNuevoV = mysql_real_escape_string(quitar($_REQUEST['codigoNuevoV'])); $fecha = mysql_real_escape_string(quitar($_REQUEST['fechaS'])); $tipo_s = mysql_real_escape_string(quitar($_REQUEST['tipo_servicio'])); $tipo_s = utf8_decode($tipo_s); $costo = mysql_real_escape_string(quitar($_REQUEST['costo'])); $band = 0; include '../../librerias/libreriaauto.php'; if ($fecha != "" && $tipo_s != "" && $costo != "") { /*automata tipo servicio*/ if (costo($costo) == 1) { $band = 1; echo " <script> alert('Costo no valido: {$costo}') </script> "; } } else { $band = 1; echo " <script> alert('Llenar toda la información antes de continuar') </script> "; } if ($codigoNuevoV == 'Seleccione...') { $band = 1; echo "<script>alert('Seleccionar el Vehículo antes de continuar')</script>"; } if ($band == 0) { $tipo_s = mb_strtoupper($tipo_s); $consulta = " INSERT INTO servicio_vehiculo (fecha,tipoServicio,costo,codigoNuevoV)\n\t\t\t\t\t\t VALUES ('{$fecha}','{$tipo_s}',{$costo},'{$codigoNuevoV}') "; $ejecutar = mysql_query($consulta) or die(mysql_error()); $tipo_s = utf8_encode($tipo_s);
function tcosto($id, $iva, $formcal, $pond, $ultimo, $standard, $existen, $itcana) { $costo = costo($formcal, $pond, $ultimo, $standard, $existen, $itcana); $rt = nformat($costo); $rt .= '<input type="hidden" id="costo[' . $id . ']" name="costo[' . $id . ']" value="' . $costo . '" />'; $rt .= '<input type="hidden" id="iva[' . $id . ']" name="iva[' . $id . ']" value="' . $iva . '" />'; return $rt; }