Un rasgo distintivo de los modelos matemáticos que se crean en la actualidad es su carácter integral, derivado de la complejidad de los objetos modelados. Esto conduce a una mayor complejidad del modelo y a la necesidad de emplear conjuntamente varias teorías de distintos campos del conocimiento, así como métodos computacionales modernos y recursos informáticos para obtener y analizar los resultados del modelado. En el caso de objetos complejos, satisfacer todos los requisitos planteados en un solo modelo resulta, por lo general, imposible. Es preciso crear todo un espectro de modelos de un mismo objeto (y en algunos casos una estructura jerárquica de modelos «anidados»), cada uno de los cuales resuelve con máxima eficacia las tareas que se le han encomendado.
La necesidad de construir modelos de forma masiva exige desarrollar un conjunto de reglas y enfoques que permitan reducir los costes de desarrollo y disminuir la probabilidad de que surjan errores difíciles de corregir con posterioridad. Dicho conjunto de reglas podría denominarse tecnología de creación de modelos matemáticos.
El proceso de construcción de cualquier modelo matemático puede representarse como una secuencia de etapas:
- Estudio del objeto de modelado y formulación de los términos de referencia para el desarrollo del modelo (planteamiento sustantivo del problema).
- Planteamiento conceptual y matemático del problema.
- Análisis cualitativo y verificación de la corrección del modelo.
- Selección y justificación de los métodos de resolución del problema.
- Búsqueda de la solución.
- Desarrollo del algoritmo de resolución e investigación de sus propiedades; implementación del algoritmo en forma de programas.
- Verificación de la adecuación del modelo.
- Utilización práctica del modelo construido.
Los modelos matemáticos, especialmente los que emplean métodos numéricos y recursos informáticos, requieren para su construcción inversiones intelectuales, financieras y de tiempo considerables. Por ello, la decisión de desarrollar un nuevo modelo se adopta únicamente cuando no existen vías más sencillas para resolver los problemas surgidos (por ejemplo, la modificación de alguno de los modelos existentes).
La necesidad de un nuevo modelo puede aparecer en relación con la realización de investigaciones científicas, especialmente en la intersección de distintos campos del conocimiento. Una vez tomada la decisión sobre la necesidad de construir un nuevo modelo matemático, el cliente busca un ejecutor para su encargo. Como ejecutor suele actuar un grupo de trabajo que incluye especialistas de distintos perfiles: matemáticos aplicados, especialistas con profundo conocimiento del objeto de modelado y programadores. Si se ha tomado la decisión de crear el modelo y el grupo de trabajo está formado, se procede a la etapa de estudio del objeto de modelado. El objetivo principal de esta etapa es preparar el planteamiento sustantivo del problema de modelado. El conjunto de preguntas fundamentales sobre el objeto de modelado, formuladas en forma sustantiva (verbal) y de interés para el cliente, constituye el planteamiento sustantivo del problema de modelado.
La preparación de la lista de preguntas a las que debe responder el nuevo modelo constituye con frecuencia un problema independiente, cuya resolución requiere especialistas con conocimientos y capacidades específicos. Estos deben no solo conocer a fondo el área temática del modelado y las posibilidades de la matemática computacional y la informática actuales, sino también saber comunicarse con las personas, «hacer hablar» a los profesionales que «sienten» bien el objeto de modelado y los matices de su comportamiento. A este tipo de especialistas pertenecen, por ejemplo, los analistas de sistemas, los ingenieros de sistemas y los especialistas en investigación de operaciones.
Sobre la base del análisis de toda la información recogida, el responsable del planteamiento del problema debe formular tales requisitos para el futuro modelo que, por un lado, satisfagan al cliente y, por otro, permitan implementar el modelo en los plazos establecidos y dentro de los recursos asignados. Los analistas de sistemas (u operacionistas) deben ser capaces, a partir de un gran volumen de información diversa y débilmente formalizada sobre el objeto de modelado, y de los deseos y requisitos del cliente —a menudo vagamente expresados— respecto al futuro modelo, de extraer lo esencial, aquello que realmente puede llevarse a la práctica.
Sobre la base de la información recogida acerca del objeto de modelado, el analista de sistemas (ingeniero, operacionista), conjuntamente con el cliente, formula el planteamiento sustantivo del problema de modelado, que por regla general no es definitivo y puede precisarse y concretarse durante el proceso de desarrollo del modelo. No obstante, todas las modificaciones y cambios posteriores del planteamiento sustantivo deben ser de carácter parcial y no fundamental.
Todo el material recogido como resultado del estudio —los conocimientos acumulados hasta el momento sobre el objeto, el planteamiento sustantivo del problema de modelado, los requisitos adicionales para la implementación del modelo y la presentación de resultados— se formaliza en los términos de referencia para el diseño y desarrollo del modelo. Los términos de referencia son el documento final que cierra la etapa de estudio. Cuanto más completa sea la información recopilada sobre el objeto en la etapa de estudio, con mayor claridad podrá formularse el planteamiento sustantivo del problema, se tendrá en cuenta de forma más completa la experiencia y los conocimientos acumulados, y se evitarán muchas dificultades en las etapas posteriores de desarrollo del modelo.
A diferencia del planteamiento sustantivo, el planteamiento conceptual del problema de modelado es formulado por regla general por los miembros del grupo de trabajo sin la participación de representantes del cliente, sobre la base de los términos de referencia elaborados en la etapa anterior y utilizando los conocimientos disponibles sobre el objeto de modelado y los requisitos para el futuro modelo. El análisis y la discusión conjunta por parte de los miembros del grupo de trabajo de toda la información disponible sobre el objeto de modelado permiten formar un modelo sustantivo del objeto, que constituye la síntesis de los modelos cognitivos formados por cada uno de los miembros del grupo de trabajo.
El planteamiento conceptual del problema de modelado es el conjunto de preguntas fundamentales de interés para el cliente, formuladas en los términos de las disciplinas concretas, así como el conjunto de hipótesis relativas a las propiedades y el comportamiento del objeto de modelado.
Las mayores dificultades al formular el planteamiento conceptual surgen en los modelos situados en la «intersección» de distintas disciplinas. Las diferencias de tradiciones, conceptos y lenguajes empleados para describir unos mismos objetos constituyen obstáculos muy serios en la creación de modelos «interdisciplinares».
Un planteamiento conceptual completo permite formular el planteamiento matemático del problema de modelado, que incluye el conjunto de relaciones matemáticas que describen el comportamiento y las propiedades del objeto de modelado.
El planteamiento matemático del problema de modelado es el conjunto de relaciones matemáticas que describen el comportamiento y las propiedades del objeto de modelado.
Un modelo matemático es correcto si para él se han realizado y obtenido resultados positivos en todas las verificaciones de control: dimensionalidad, órdenes de magnitud, carácter de las dependencias, situaciones extremas, condiciones de contorno, sentido material y completitud matemática. El planteamiento matemático del problema es aún más abstracto que el conceptual, ya que reduce el problema original a uno puramente matemático cuyos métodos de resolución están suficientemente desarrollados.
Todos los métodos de resolución de los problemas que constituyen el «núcleo» de los modelos matemáticos pueden dividirse en analíticos y algorítmicos.
Conviene señalar que, al utilizar soluciones analíticas para obtener resultados «en cifras», con frecuencia también es necesario desarrollar los algoritmos correspondientes implementados en recursos informáticos.
Sin embargo, la solución de partida es en este caso una expresión analítica (o un conjunto de ellas). En cambio, las soluciones basadas en métodos algorítmicos no son reducibles, en principio, a soluciones analíticas exactas del problema considerado.
La elección de uno u otro método de investigación depende en gran medida de la cualificación y la experiencia de los miembros del grupo de trabajo. Los métodos analíticos resultan más cómodos para el análisis posterior de resultados, pero solo son aplicables a modelos relativamente sencillos. Si el problema matemático (aunque sea en un planteamiento simplificado) admite una solución analítica, esta es, sin duda, preferible a la numérica.
Los métodos algorítmicos se reducen a un algoritmo que realiza un experimento computacional con ayuda de recursos informáticos. La precisión del modelado en tal experimento depende sustancialmente del método elegido y de sus parámetros. Los métodos algorítmicos son, por regla general, más laboriosos en su implementación, exigen de los miembros del grupo de trabajo un buen conocimiento de los métodos de la matemática computacional, una amplia biblioteca de software especializado y potentes recursos informáticos.
Los métodos numéricos solo son aplicables a problemas matemáticos bien planteados (correctos), lo que limita considerablemente su uso en el modelado matemático. Lo común a todos los métodos numéricos es la reducción del problema matemático a uno de dimensión finita. Esto se logra, en la mayoría de los casos, mediante la discretización del problema original, es decir, el paso de funciones de argumento continuo a funciones de argumento discreto. La aplicación de cualquier método numérico conduce inevitablemente a errores en los resultados de la resolución del problema. Se distinguen tres componentes principales del error que surge al resolver numéricamente el problema original: el error irreducible, asociado a la especificación inexacta de los datos iniciales (condiciones iniciales y de contorno, coeficientes y segundos miembros de las ecuaciones); el error del método, asociado al paso al análogo discreto del problema original; y el error de redondeo, asociado a la representación finita de los números en la máquina de cálculo.
Un requisito natural para cualquier algoritmo computacional concreto es la consistencia en los órdenes de magnitud de los tres tipos de error mencionados.
Un método numérico, o aproximado, se implementa siempre en forma de algoritmo computacional. Por ello, todos los requisitos aplicables a un algoritmo son también aplicables a un algoritmo computacional. Ante todo, el algoritmo debe ser implementable, es decir, debe asegurar la resolución del problema dentro del tiempo de cálculo admisible. Una característica importante del algoritmo es su precisión, es decir, la posibilidad de obtener la solución del problema original con la precisión dada en un número finito de operaciones.
El tiempo de ejecución del algoritmo depende del número de operaciones necesarias para alcanzar la precisión dada. Para cualquier problema matemático, por regla general, es posible proponer varios algoritmos que permiten obtener la solución con la precisión dada, pero en un número diferente de operaciones. Los algoritmos que requieren un menor número de operaciones para alcanzar la misma precisión se denominan más económicos o más eficientes.
Durante la ejecución del algoritmo computacional, en cada paso de cálculo surge un cierto error. Este error puede crecer o no crecer (y en algunos casos incluso disminuir) de paso en paso. Si el error crece de forma ilimitada durante los cálculos, el algoritmo se denomina inestable o divergente. En caso contrario, se denomina estable o convergente.
La enorme diversidad de métodos numéricos dificulta considerablemente la elección de uno u otro método en cada caso concreto. Puesto que para implementar un mismo modelo pueden emplearse varios métodos algorítmicos alternativos, la elección del método concreto se realiza teniendo en cuenta cuál de ellos resulta más adecuado para el modelo dado desde el punto de vista de la eficiencia, la estabilidad y la precisión de los resultados, y cuál es más conocido y familiar para los miembros del grupo de trabajo.
En la actualidad, al crear los distintos complejos de software utilizados para resolver diversas tareas de investigación, diseño y gestión, la base suele ser, por regla general, los modelos matemáticos. En relación con ello, surge la necesidad de implementar el modelo en forma de programa informático. El proceso de desarrollo de un software fiable y eficiente no es menos complejo que todas las etapas anteriores de creación del modelo matemático. La resolución exitosa de esta tarea solo es posible con un dominio seguro de los lenguajes algorítmicos y las tecnologías de programación actuales, el conocimiento de las capacidades de los recursos informáticos, del software existente y de las particularidades de la implementación de los métodos de la matemática computacional.
El proceso de creación del software puede dividirse en varias etapas:
- elaboración de los términos de referencia para el desarrollo del software;
- diseño de la estructura del complejo de software;
- codificación del algoritmo;
- pruebas y depuración;
- mantenimiento y explotación.
Los términos de referencia para el desarrollo del software se formalizan en forma de especificación. En la etapa de diseño se configura la estructura general del complejo de software. El programa se divide en módulos. Para cada módulo se formulan los requisitos sobre las funciones que implementa y se desarrolla el algoritmo que las ejecuta. Se define el esquema de interacción entre los módulos, denominado esquema de flujos de datos del complejo de software. Se elabora un plan y se fijan los datos iniciales para las pruebas de los módulos individuales y del complejo de software en su conjunto.
La mayoría de los programas que implementan modelos matemáticos constan de tres partes principales:
- preprocesador (preparación y verificación de los datos iniciales del modelo);
- procesador (resolución del problema, realización del experimento computacional);
- postprocesador (representación de los resultados obtenidos).
Es preciso conceder gran importancia al dominio de las tecnologías de programación actuales. El propósito de cualquier tecnología es, ante todo, aumentar la fiabilidad del software e incrementar la productividad del programador. Cuanto más serio y voluminoso sea el proyecto de software, mayor importancia adquieren las cuestiones relacionadas con el uso de tecnologías de programación modernas. Descuidar estas cuestiones puede acarrear pérdidas de tiempo significativas y una disminución de la fiabilidad del complejo de software.
Un factor decisivo que determina la fiabilidad y los plazos reducidos de creación de un complejo de software para la resolución de una clase concreta de problemas es la disponibilidad de una biblioteca desarrollada de módulos de software mutuamente compatibles. Un programa resulta más fiable y se crea en menor plazo cuando se maximiza el uso de elementos de software estándar.
La adecuación de un modelo matemático es el grado de correspondencia entre los resultados obtenidos con el modelo desarrollado y los datos experimentales o los de un problema de prueba.
La verificación de la adecuación del modelo persigue dos objetivos:
- confirmar la validez del conjunto de hipótesis formuladas en las etapas de planteamiento conceptual y matemático. Conviene pasar a la verificación de las hipótesis solo después de haber comprobado los métodos de resolución empleados, de haber realizado la depuración integral y de haber eliminado todos los errores y conflictos relacionados con el software;
- establecer que la precisión de los resultados obtenidos se corresponde con la precisión estipulada en los términos de referencia.
La verificación del modelo matemático desarrollado se realiza mediante la comparación con los datos experimentales disponibles sobre el objeto real o con los resultados de otros modelos creados con anterioridad y de reconocida eficacia. En el primer caso se habla de verificación por comparación con el experimento; en el segundo, de comparación con los resultados de la resolución de un problema de prueba.
La resolución de la cuestión sobre la precisión del modelado depende de los requisitos planteados al modelo y de su finalidad. Al mismo tiempo, debe tenerse en cuenta la precisión de la obtención de los resultados experimentales o las particularidades de los planteamientos de los problemas de prueba. En los modelos destinados a realizar cálculos orientativos y de estimación, una precisión del 10-15 % se considera satisfactoria. En los modelos utilizados en sistemas de control y supervisión, la precisión requerida puede ser del 1-2 % o incluso superior.
Cuando surgen problemas relacionados con la adecuación del modelo, su corrección debe comenzarse por el análisis secuencial de todas las causas posibles que hayan llevado a la discrepancia entre los resultados del modelado y los experimentales. En primer lugar, es necesario investigar el modelo y evaluar su grado de adecuación para distintos valores de los parámetros variables (condiciones iniciales y de contorno, parámetros que caracterizan las propiedades de los objetos de modelado). Si el modelo resulta inadecuado en la región de parámetros de interés para el investigador, puede intentarse precisar los valores de las constantes y los parámetros iniciales del modelo. Si tampoco en este caso se obtienen resultados positivos, la única posibilidad de mejorar el modelo consiste en modificar el sistema de hipótesis adoptado. Esta decisión significa, de hecho, volver a la segunda etapa del proceso de desarrollo del modelo y puede conllevar no solo un cambio sustancial del planteamiento matemático del problema, sino también de los métodos de resolución (por ejemplo, el paso de los analíticos a los numéricos), la reelaboración completa del software y un nuevo ciclo de verificación de la adecuación del modelo. Por ello, la decisión de modificar el sistema de hipótesis adoptado debe sopesarse a fondo y adoptarse solo cuando se hayan agotado todas las demás posibilidades de mejora de la adecuación del modelo.
Los modelos descriptivos están destinados a describir los parámetros investigados de un determinado fenómeno o proceso, así como a estudiar las regularidades de variación de dichos parámetros. Estos modelos pueden utilizarse para estudiar las propiedades y las particularidades del comportamiento del objeto investigado bajo diferentes combinaciones de datos iniciales y distintos regímenes; en la construcción de modelos de optimización y modelos simuladores de sistemas complejos.
Los modelos desarrollados con fines de investigación no suelen llevarse, por regla general, al nivel de complejos de software destinados a ser transferidos a usuarios externos. Su tiempo de existencia se limita habitualmente al período de ejecución de los trabajos de investigación en la dirección correspondiente. Estos modelos se caracterizan por su carácter exploratorio, el empleo de procedimientos y algoritmos computacionales novedosos y una interfaz de software poco desarrollada.
Los modelos y los complejos de software construidos sobre su base, destinados a su posterior transferencia a usuarios externos o a su distribución comercial, disponen de una interfaz desarrollada y amigable, así como de potentes preprocesadores y postprocesadores. Tales modelos suelen construirse sobre planteamientos y procedimientos computacionales probados y de reconocida eficacia. Sin embargo, debe tenerse presente que estos modelos están destinados únicamente a la resolución de una clase de problemas claramente definida.
Con independencia del área de aplicación del modelo creado, el grupo de desarrolladores tiene la obligación de realizar un análisis cualitativo y cuantitativo de los resultados del modelado.
Al trabajar con el modelo, los desarrolladores se convierten en especialistas en el área relacionada con el objeto de modelado. Conocen suficientemente bien las propiedades del objeto y son capaces de predecir y explicar su comportamiento.
Por ello, un análisis exhaustivo de los resultados del modelado permite:
- realizar la modificación del objeto considerado, hallar sus características óptimas o, al menos, tener mejor en cuenta su comportamiento y sus propiedades;
- delimitar el área de aplicación del modelo;
- verificar la fundamentación de las hipótesis adoptadas en la etapa de planteamiento matemático, evaluar la posibilidad de simplificar el modelo con el fin de aumentar su eficiencia sin perder la precisión requerida;
- indicar en qué dirección debe desarrollarse el modelo en el futuro.