Expresar como condición que un número sea entero
Publicado por Aitor (49 intervenciones) el 17/03/2017 17:47:48
Hola,
Estoy resolviendo un problema de optimización, cuyo resultado ha de ser un vector con elementos de la forma
v = x/N, donde x ha de ser necesariamente un valor de tipo integer positivo que pueda tomar como valores desde el 0 hasta N.
El problema es que no sé cómo expresar esta condición de forma matemática mediante Matlab. Estoy utilizando la función fmincon para resolver el problema de optimización:
https://es.mathworks.com/help/optim/ug/fmincon.html
Y no sé en qué parámetro 'encajar' esta condición adicional. Había pensado en hacerlo dentro de ceq, de la siguiente forma:
Pero no parece estar haciendo nada. ¿Alguien conoce alguna otra idea, por favor?
Si pudiera seros de utilidad, podéis encontrar el resto de mi código en StackOverflow en español:
http://es.stackoverflow.com/questions/56013/encontrar-la-distribuci%C3%B3n-de-1-en-filas-y-columnas-de-una-matriz-de-comprobaci
Muchas gracias de antemano por vuestra ayuda, y un cordial saludo. ¡Que paséis todos un buen fin de semana!
Estoy resolviendo un problema de optimización, cuyo resultado ha de ser un vector con elementos de la forma
v = x/N, donde x ha de ser necesariamente un valor de tipo integer positivo que pueda tomar como valores desde el 0 hasta N.
El problema es que no sé cómo expresar esta condición de forma matemática mediante Matlab. Estoy utilizando la función fmincon para resolver el problema de optimización:
https://es.mathworks.com/help/optim/ug/fmincon.html
Y no sé en qué parámetro 'encajar' esta condición adicional. Había pensado en hacerlo dentro de ceq, de la siguiente forma:
1
ceq = v*N - floor(v*N)
Pero no parece estar haciendo nada. ¿Alguien conoce alguna otra idea, por favor?
Si pudiera seros de utilidad, podéis encontrar el resto de mi código en StackOverflow en español:
http://es.stackoverflow.com/questions/56013/encontrar-la-distribuci%C3%B3n-de-1-en-filas-y-columnas-de-una-matriz-de-comprobaci
Muchas gracias de antemano por vuestra ayuda, y un cordial saludo. ¡Que paséis todos un buen fin de semana!
Valora esta pregunta
0