Red de conocimiento informático - Material del sitio web - Cómo utilizar el método Monte Carlo para resolver problemas de programación no lineal en MATLAB

Cómo utilizar el método Monte Carlo para resolver problemas de programación no lineal en MATLAB

La idea básica de utilizar el método Monte Carlo para resolver el problema

1

Seleccione aleatoriamente una cantidad de puntos de prueba dentro del área estimada.

2

Luego encuentra puntos factibles a partir de los puntos experimentales.

3

Luego seleccione el punto mínimo de los puntos factibles.

Supuestos básicos

1

El j-ésimo componente xj del punto de prueba obedece a la distribución uniforme dentro de [aj,bj].

 1

Primero genere un número aleatorio como punto de prueba inicial y luego genere aleatoriamente el j-ésimo componente del punto de prueba anterior, dejando los otros componentes sin cambios para generar un nuevo punto de prueba. De esta manera, cada vez que se genera un nuevo punto de prueba, sólo se necesita un nuevo componente de número aleatorio. Detenga la iteración cuando K>MAXK o P>MAXP.

2

Descripción del símbolo:

P: número total de puntos de prueba; MAXP: número total de puntos de prueba máximos;

K : número total de puntos factibles; MAXK: el número máximo de puntos factibles;

X*: el punto óptimo generado por la iteración; Q: el valor mínimo f(X*) generado por la iteración y su inicial El valor es el número máximo que la computadora puede representar.

Pasos de programación en MATLAB:

1

Determinar el problema de programación no lineal a resolver

2

Escribir en secuencia Tres archivos m, primero escriba el archivo m de la función objetivo

3

Luego escriba el archivo m de las restricciones

 4

Luego escriba el archivo m del programa principal según la idea básica de la solución del método Monte Carlo. Inicialice primero y use la función unifrnd para generar números aleatorios que obedezcan a una distribución uniforme como puntos de prueba.

 5

Luego llama al archivo m de la función objetivo y las restricciones para encontrar la solución óptima

6

Finalmente, muestra que encontró la solución óptima

7

Guarde el programa compilado,