Modelado y optimización · Tema 25

Función objetivo, restricciones y dominio factible

Aprendé a convertir un enunciado en un modelo matemático de una variable, usando las restricciones para eliminar cantidades auxiliares y delimitando con precisión las decisiones permitidas.

01 · Modelar antes de derivar

La parte más importante no siempre es el cálculo

Una derivada correcta aplicada a una función equivocada produce una respuesta inútil. En optimización, gran parte del trabajo consiste en traducir el problema real a símbolos sin perder restricciones ni unidades.

El resultado de esta etapa debe ser una función de una variable acompañada por un dominio factible explícito.

02 · Leer con intención

Separar decisiones, datos y condiciones

Al leer el enunciado conviene marcar:

  • qué magnitud debe hacerse mayor o menor;
  • qué cantidades pueden elegirse;
  • qué valores están dados;
  • qué relaciones deben cumplirse;
  • qué limitaciones aparecen de forma explícita o implícita;
  • qué unidades utiliza cada cantidad.

Palabras como «como máximo», «al menos», «en total», «restante», «entero» o «positivo» suelen revelar restricciones.

03 · Elegir la variable

Una definición completa de x

La variable debe simplificar tanto la función objetivo como las restricciones. Su definición debe incluir significado y unidad:

x = memoria asignada al servicio A, medida en GB

Si hay varias cantidades desconocidas, no significa necesariamente que el modelo final necesite varias variables. Una restricción de igualdad puede permitir escribir las demás en función de x.

Antes de continuar, deberíamos poder responder: ¿qué representa x = 12 en el problema real?

04 · Escribir el objetivo

La magnitud que será comparada

La función objetivo debe producir la cantidad que el enunciado pide optimizar:

J = expresión en términos de las cantidades del problema

Al principio puede depender de más de una cantidad, como A(x, y) = xy. Esa expresión todavía no está lista para el método de una variable.

También debemos declarar el sentido:

maximizar J    o    minimizar J

05 · Reducir a una variable

Usar una restricción de igualdad

Supongamos que dos cantidades satisfacen:

x + y = M

Podemos despejar y = M − x y sustituirla en el objetivo:

J(x, y) → J(x, M − x) = j(x)

La restricción no desaparece: queda incorporada dentro de la función reducida. A partir de ese momento, cada valor de x determina automáticamente a y.

06 · Restricciones de desigualdad

Transformarlas en intervalos

Las desigualdades delimitan el dominio factible. Si x ≥ 0 y M − x ≥ 0, entonces:

0 ≤ x ≤ M

Varias condiciones deben intersectarse, no unirse. Por ejemplo:

x ≥ 2, x ≤ 64 y x < 50 ⇒ 2 ≤ x < 50

Si la intersección es vacía, el problema no tiene soluciones factibles bajo esos datos.

07 · Tres capas del dominio

Matemático, físico y computacional

CapaPreguntaEjemplo
Dominio algebraico¿Dónde existe la fórmula?x ≠ 0 si aparece 1/x
Dominio físico¿Qué valores tienen sentido?x > 0 para una longitud
Dominio computacional¿Qué puede implementarse?x entero y limitado por memoria

El dominio factible final es la intersección de las tres capas. Usar únicamente el dominio de la fórmula suele admitir decisiones imposibles.

08 · Extremos abiertos o cerrados

¿La frontera está permitida?

La diferencia entre x > 0 y x ≥ 0 puede cambiar la existencia de una solución óptima.

  • [a, b]: ambas fronteras son factibles.
  • (a, b): ninguna frontera pertenece al dominio.
  • [a, b) o (a, b]: solo una pertenece.

Una longitud estrictamente positiva excluye cero. En cambio, asignar cero unidades a un módulo podría estar permitido si significa desactivarlo.

No se decide por costumbre: se decide a partir del significado del problema.

09 · Control dimensional

Las unidades detectan modelos incoherentes

Todos los términos sumados en una función deben tener unidades compatibles. No tendría sentido sumar directamente milisegundos y megabytes sin un coeficiente que convierta o valore uno de ellos.

Los coeficientes también tienen unidades. En:

T(x) = A/x + Bx + C

si T está en milisegundos y x en registros, entonces A debe expresarse en milisegundos·registro, B en milisegundos/registro y C en milisegundos.

10 · Ejemplo de reducción

Rectángulo con perímetro fijo

Se desea maximizar el área de un rectángulo cuyo perímetro es 40 unidades.

  1. Definimos x como el ancho y y como el largo.
  2. El objetivo inicial es A = xy.
  3. La restricción es 2x + 2y = 40.
  4. Despejamos y = 20 − x.
  5. Sustituimos: A(x) = x(20 − x).
  6. Como ambos lados deben ser positivos, 0 < x < 20.
maximizar A(x) = x(20 − x), para 0 < x < 20

El modelo ya está listo. Todavía no hemos usado derivadas ni elegido la solución.

11 · Ejemplo para programadores

Repartir memoria entre dos servicios

Hay 64 GB disponibles. Sea x la memoria de A y y la memoria de B:

x + y = 64 ⇒ y = 64 − x

Un modelo simplificado de costo total es:

C(x, y) = 200/(x + 4) + 300/(y + 4)

Al sustituir:

C(x) = 200/(x + 4) + 300/(68 − x)

Si se permite desactivar un servicio, el dominio físico es 0 ≤ x ≤ 64. Si cada servicio necesita al menos 8 GB, cambia a 8 ≤ x ≤ 56.

La misma fórmula puede conducir a dominios factibles distintos según las reglas reales.

12 · Restricciones discretas

El modelo continuo es una aproximación

Si x representa hilos, servidores o registros, los valores factibles pueden ser enteros:

F = {x ∈ ℤ : 1 ≤ x ≤ 16}

La función continua ayuda a comprender la forma y localizar una región prometedora. Pero la decisión final debe comparar los enteros factibles cercanos y respetar reglas como múltiplos de 8 o potencias de 2.

Esas condiciones deben registrarse desde el modelado, no agregarse después como una sorpresa.

13 · Revisar antes de resolver

Pruebas rápidas del modelo

  1. Explicar en palabras qué significa cada símbolo.
  2. Comprobar unidades.
  3. Evaluar una decisión sencilla cuyo resultado pueda estimarse.
  4. Probar las fronteras y un valor fuera del dominio.
  5. Verificar que las cantidades dependientes satisfagan la restricción original.
  6. Confirmar que mejorar el objetivo significa realmente mejorar el sistema.

Una prueba con casos simples puede descubrir signos invertidos, factores duplicados o restricciones omitidas antes de iniciar el cálculo.

14 · Exploración interactiva

Laboratorio: una decisión determina las demás

Elegí un modelo y mové x. El laboratorio calcula la cantidad dependiente, comprueba las restricciones y evalúa la función objetivo reducida.

EXPERIMENTO 25

De la restricción a J(x)

A(x) = x(20 − x)

Los valores del modelo aparecen debajo.
VariableAncho x = 6
Cantidad dependienteLargo y = 14
ObjetivoA(6) = 84
DominioFactible: 0 < x < 20

La restricción x + y = 20 se cumple automáticamente.

La zona resaltada representa el dominio factible. Los valores fuera de ella se muestran como decisiones inválidas.

Preguntas para explorar

  1. En el rectángulo, comprobá que ancho más largo siempre sea 20.
  2. Cambiá al reparto de memoria y observá cómo aumentar x reduce la asignación de B.
  3. En lotes, elegí cero y explicá por qué falla tanto la fórmula como el significado.
  4. ¿Qué restricciones adicionales aparecerían si todas las decisiones debieran ser enteras?

15 · Implementación

Codificar objetivo y factibilidad por separado

const modeloRectangulo = {
  sentido: "max",
  objetivo: x => x * (20 - x),
  dependiente: x => 20 - x,
  esFactible: x => x > 0 && x < 20
};

function evaluarModelo(modelo, x) {
  if (!Number.isFinite(x) || !modelo.esFactible(x)) {
    return { x, factible: false, valor: null };
  }
  return {
    x,
    factible: true,
    dependiente: modelo.dependiente(x),
    valor: modelo.objetivo(x)
  };
}

for (const x of [-1, 4, 10, 20]) {
  console.log(evaluarModelo(modeloRectangulo, x));
}

Comprobar una restricción de recursos

const memoriaTotal = 64;

function modeloMemoria(x) {
  const y = memoriaTotal - x;
  const factible = x >= 8 && y >= 8;

  if (!factible) return { x, y, factible, costo: null };

  const costo = 200 / (x + 4) + 300 / (y + 4);
  return {
    x,
    y,
    factible,
    recursoUsado: x + y,
    costo
  };
}

for (const x of [4, 8, 24, 56, 60]) {
  console.log(modeloMemoria(x));
}

16 · Comprensión

Confusiones frecuentes

«Puedo derivar una función de dos variables como si fuera de una»

Primero debe usarse la restricción para expresar las cantidades auxiliares en función de la variable elegida.

«El dominio es solamente donde existe la fórmula»

También intervienen significado físico, límites de recursos y condiciones discretas.

«Las restricciones se eliminan al sustituir»

La igualdad queda incorporada en la fórmula, pero todavía hay que conservar las desigualdades que determinan el dominio.

«Cero siempre puede incluirse como frontera»

Depende del significado. Una longitud debe ser positiva; una asignación nula puede o no estar permitida.

«Redondear el óptimo continuo resuelve la versión entera»

Hay que comparar los enteros factibles cercanos y respetar otras reglas discretas.

«Si la expresión parece razonable, las unidades no importan»

Las unidades incompatibles revelan términos que no pueden sumarse sin una conversión adecuada.

17 · Práctica guiada

Ejercicios de modelado

Ejercicio 1: suma fija

Dos cantidades positivas suman 30. Expresá su producto usando una sola variable y determiná el dominio.

Ver solución

Sea x la primera cantidad; la segunda es 30 − x. El producto es P(x) = x(30 − x) y el dominio es 0 < x < 30.

Ejercicio 2: asignación mínima

Se reparten 100 unidades entre A y B, y cada uno debe recibir al menos 20. Hallá el dominio de la asignación x para A.

Ver respuesta

B recibe 100 − x. Las condiciones x ≥ 20 y 100 − x ≥ 20 producen 20 ≤ x ≤ 80.

Ejercicio 3: lote entero

Un lote debe contener entre 8 y 256 elementos y ser múltiplo de 8. Escribí el dominio factible.

Ver respuesta

F = {8, 16, 24, …, 256}, o equivalentemente los enteros x tales que 8 ≤ x ≤ 256 y x es divisible por 8.

Ejercicio 4: unidades

En C(x) = ax + b/x, C está en pesos y x en unidades. ¿Qué unidades tienen a y b?

Ver respuesta

a se mide en pesos por unidad y b en pesos·unidad, para que ambos términos terminen en pesos.

Ejercicio 5: modelo incompleto

Una función objetivo depende de x e y, pero solo se conoce x + y = 50. ¿Qué paso falta?

Ver respuesta

Despejar una cantidad, por ejemplo y = 50 − x, y sustituirla en el objetivo para obtener una función de una variable.

18 · Síntesis

Lista de control del modelo

  • Definir la variable con significado y unidades.
  • Identificar la magnitud que se maximiza o minimiza.
  • Separar variables de parámetros conocidos.
  • Usar restricciones de igualdad para eliminar auxiliares.
  • Intersectar todas las restricciones de desigualdad.
  • Combinar dominios algebraico, físico y computacional.
  • Decidir con cuidado si las fronteras están incluidas.
  • Validar unidades y casos simples antes de derivar.

En el próximo tema aplicaremos la estrategia analítica de optimización: derivar, generar candidatos, comparar valores y justificar la solución.