CSV a Excel

OpenSolver en Excel: qué es y cómo se instala para resolver problemas grandes

octubre 19, 2026 Tuto Excel 12 min read
OpenSolver en Excel: qué es y cómo se instala para resolver problemas grandes

OpenSolver es un complemento gratuito para Excel que sustituye al Solver de Microsoft cuando tu modelo tiene cientos o miles de variables y restricciones: usa el motor COIN-OR CBC, de código abierto, y no se ahoga donde el Solver estándar se queda colgado o directamente no llega. En este artículo lo instalas, montas tu primer modelo lineal sobre una hoja de "Mezcla de productos" y lo resuelves en dos minutos; después aprendes a reutilizar modelos del Solver de Excel, a leer el grafo del modelo y a arreglar los errores más habituales. Funciona con Excel 2007 o posterior en Windows y con Excel 2011 o 2016 actualizado en Mac.

Qué es OpenSolver y qué problema te resuelve frente al Solver

Imagina un modelo de planificación con 5.000 variables de decisión y 3.000 restricciones: turnos de personal, rutas de reparto, planes de producción semanales. Al pulsar Solver, Excel gira unos minutos, a veces horas, y acaba mostrando que no puede cargar el problema o devuelve una solución que sabes que no es la real. Eso pasa porque el Solver que viene con Excel tiene un límite práctico de unas 200 variables en problemas lineales y mucho menos en los no lineales.

OpenSolver es un complemento gratuito que añade a Excel motores de optimización mucho más capaces. Su motor por defecto, COIN-OR CBC, es de código abierto, no impone un tope artificial de variables o restricciones y maneja modelos lineales y enteros. OpenSolver no sustituye al Solver de Microsoft en el sentido de "hacer lo mismo": lo amplía con motores pensados para problemas grandes, y mantiene una pestaña propia dentro de Excel para que sigas trabajando con la hoja tal como la conoces.

Lo que necesitas antes de abrir OpenSolver por primera vez

  • Excel 2007 o posterior en Windows (32 o 64 bits). En Mac, Excel 2011 o un Excel 2016 actualizado a la versión 15.28 o superior.
  • Permisos para instalar complementos en tu perfil de Windows o Mac.
  • El archivo del complemento desde la web oficial: entra en opensolver.org y descarga el zip de la versión actual; también lo encuentras en SourceForge como proyecto OpenSolver. El archivo que se instala es OpenSolver.xlam.
  • La pestaña Programador visible si quieres ajustar opciones a mano: Archivo > Opciones > Personalizar cinta de opciones y marca Programador en la columna derecha.
Nota: OpenSolver no funciona en Excel para la web ni en Excel para móvil. Tampoco en versiones de Mac anteriores a 2016 sin actualizar.

Instalar el complemento y ver su pestaña en la cinta

  1. Descarga el zip desde opensolver.org y descomprímelo en una carpeta fija, por ejemplo Documentos\OpenSolver.
  2. Abre Excel, ve a Archivo > Abrir y selecciona el archivo OpenSolver.xlam. Confirma que quieres abrirlo y, si Excel te pregunta, acepta habilitar el complemento.
  3. Excel instala el complemento y añade una pestaña propia. Si no la ves, actívala en Archivo > Opciones > Complementos > Administrar: Complementos de Excel > Ir, marca OpenSolver Solver y pulsa Aceptar.
  4. Verás una pestaña nueva llamada OpenSolver dentro del grupo Datos, con los botones Model, Reset, Solve, QuickSolve, AutoModel y Model Viewer.
DatosOpenSolverModel

Las piezas de un modelo en la hoja: variables, restricciones y objetivo

Un modelo de optimización tiene tres piezas que tienes que escribir en la hoja antes de abrir OpenSolver: las celdas cambiantes (las decisiones que OpenSolver puede mover, por ejemplo cuántas unidades fabricar de cada producto), la celda objetivo (lo que quieres maximizar o minimizar, normalmente una fórmula que combina las celdas cambiantes) y las restricciones (lo que no puedes saltarte: horas disponibles, materia prima, presupuesto).

La forma más cómoda de escribirlas es tener una columna con las variables, una columna con la expresión que OpenSolver tiene que optimizar calculada con SUMAPRODUCTO, y una zona aparte con las restricciones: cada recurso en una fila, con el nombre, la expresión calculada y los valores min y max que limitan esa expresión. Cuando las restricciones usan un comparador (=, <=, >=) escrito en una celda junto al valor numérico, OpenSolver puede leerlas directamente con AutoModel.

La función objetivo: la celda que OpenSolver tiene que mejorar

C8fx=SUMAPRODUCTO(B2:B6;C2:C6)
A B C
1 Producto Coste Uds
2 Silla 12,00
3 Mesa 25,00
4 Estantería 38,00
5 Banco 9,00
6 Taburete 14,00
7
8 Coste total 0,00
C8 celda objetivo, coste total
Mezcla

=SUMAPRODUCTO(B2:B6;C2:C6)

La celda C8 resume el coste total a partir de las unidades en C2:C6. Cuando OpenSolver prueba valores en C2:C6, recalcula C8 al vuelo y busca la combinación que cumpla las restricciones con el coste mínimo.

Las restricciones: cómo se escriben para que OpenSolver las entienda

D14fx=SUMAPRODUCTO(B2:B6;$C$2:$C$6)
A B C D E
1 Producto Coste Uds
2 Silla 12,00
3 Mesa 25,00
4 Estantería 38,00
5 Banco 9,00
6 Taburete 14,00
7
8 Coste total 0,00
9
10 Recurso Uso min max
11 Horas 160
12 Material 80
13 Total horas 0
14 Total material 0
D13 horas usadas; D14: material usado
Mezcla

Las celdas D13 y D14 calculan el consumo total de cada recurso multiplicando el coeficiente de la columna B por las unidades en C. En la misma fila, las columnas C y D guardan los min y max permitidos. Con esta estructura, OpenSolver entiende que D13 debe estar entre C13 y D13, y D14 entre C14 y D14.

Resolver tu primer modelo con CBC en dos minutos

Vas a trabajar sobre la hoja "Mezcla" con 4 productos, beneficio por unidad, unidades a decidir, y dos recursos: horas de taller y material. El objetivo es maximizar el beneficio total sin pasarte de las horas ni del material disponibles.

D8fx=SUMAPRODUCTO(B2:B5;C2:C5)
A B C D
1 Producto Benef. Uds
2 Silla 18,00
3 Mesa 32,00
4 Estantería 45,00
5 Banco 11,00
6
7
8 Benef. total 0,00
9
10 Recurso Coef. min max
11 Horas 4 0 320
12 Horas 6 0 320
13 Horas 8 0 320
14 Horas 2 0 320
15 Material 3 0 240
16 Material 5 0 240
17 Material 7 0 240
18 Material 1 0 240
Mezcla
DatosOpenSolverModel

Elegir celdas variables y objetivo en el cuadro Model

  1. Pulsa Datos > OpenSolver > Model para abrir el cuadro del modelo.
  2. En Set Objective, escribe D8 (la celda del beneficio total).
  3. Marca Max para maximizar.
  4. En By Changing Variable Cells, escribe C2:C5.
  5. Deja marcado Make Unconstrained Variables Non-Negative para que las unidades no salgan negativas.
  6. Pulsa Solve para entrar al paso de restricciones.

Pasar las restricciones de la hoja al modelo con el botón Constraints

  1. En la pestaña Constraints, pulsa Add.
  2. En Cell Reference, escribe D13 (total horas usadas); en Relation, <=; en Formula, 320.
  3. Pulsa Add otra vez: Cell Reference D14, Relation, <=, Formula, 240.
  4. Pulsa OK para volver al cuadro Model.
Comprueba: en la lista de restricciones del cuadro Model ves dos líneas, una por recurso, con el sentido <= y el valor numérico correcto.

Elegir el motor CBC y pulsar Solve

  1. En la pestaña Options, abre la lista Solver y elige CBC (COIN-OR).
  2. Deja marcado Assume Linear Model porque tu modelo es lineal (beneficio = unidades x precio, recursos = unidades x coeficiente).
  3. Pulsa Solve en el cuadro Model.
  4. OpenSolver muestra una hoja de resultados con la solución encontrada, los valores de cada variable y el tiempo de cálculo.
Nota: el ajuste "Assume Linear Model" ahorra a CBC trabajo de detección; si tu modelo no es lineal, desmárcalo para que el motor decida el método.
Comprueba: D8 muestra el beneficio máximo y C2:C5 contiene las unidades que lo alcanzan; en la hoja de resultados ves "Status: Optimal" y un tiempo en segundos.

Sacar más partido: AutoModel, QuickSolve y el Model Viewer

AutoModel es el botón que ahorra teclear: detecta la celda objetivo y las restricciones leyendo los textos min, max y los comparadores =, <=, >= escritos en celdas adyacentes a los cálculos. QuickSolve vuelve a resolver el mismo modelo sin volver a abrir el cuadro, usando los valores que ya tiene cargados; sirve para ver cómo cambia la solución al modificar un dato. Model Viewer dibuja el modelo como un grafo: nodos para variables y restricciones, líneas para las relaciones; ahí ves de un vistazo qué restricción aprieta más y qué variable sobra.

Cuando AutoModel acierta y cuándo se le escapa algo

  1. Pulsa Datos > OpenSolver > AutoModel.
  2. Revisa la lista: variables, objetivo y restricciones detectadas.
  3. Si falta alguna restricción, pulsa Edit Manually y añádela como en el paso anterior.
  4. Pulsa Solve.
Comprueba: AutoModel detecta al menos las dos restricciones de horas y material; si no detecta una, la restricción no tiene en la celda C para ese recurso.

Leer el modelo en el Model Viewer

  1. Pulsa Datos > OpenSolver > Model Viewer.
  2. Lee el grafo: cada flecha indica una relación entre una variable y una restricción.
  3. Si una restricción sobra (ninguna variable "tira" de ella), quítala del modelo.
Nota: el Model Viewer no resuelve; solo muestra la estructura. Para probar cambios, vuelve a Solve.

Pasar de un modelo del Solver de Excel a OpenSolver sin reescribir nada

Si ya tienes un modelo guardado por el Solver de Excel, OpenSolver puede reutilizar las celdas cambiantes, el objetivo y las restricciones tal como están. Lo importante es que las restricciones estén escritas en celdas de la hoja (no solo dentro del cuadro del Solver) para que OpenSolver pueda leerlas.

C20fx=SUMAPRODUCTO(B2:B5;C2:C5)
A B C
1 Producto Ingreso Uds
2 A 22,00
3 B 17,00
4 C 31,00
5 D 12,00
6
7 Recurso Uso max
8 Horas 5
9 Horas 3
10 Horas 4
11 Horas 2
12 Material 4
13 Material 2
14 Material 3
15 Material 1
16 Max horas 200
17 Max material 150
18
19
20 Ingreso total 0,00
Producción
  1. Abre el libro con el modelo del Solver y ve a Datos > OpenSolver > Solve.
  2. OpenSolver lee el modelo guardado y muestra el cuadro Model con los datos listos.
  3. Pulsa Solve sin cambiar nada para confirmar que el resultado coincide con el del Solver de Excel.

El ajuste Assume Linear Model y por qué a veces hace falta

Si tu modelo es 100% lineal (sumas, multiplicaciones variable x coeficiente, restricciones <= y >=), deja la casilla marcada: CBC resuelve más rápido. Si introduces una función no lineal (por ejemplo =C2^2 o =RAIZ(C2)), desmárcala para que CBC use un método no lineal o, mejor, cambia a un motor como NOMAD o COUENNE desde la lista Solver.

Errores y situaciones reales que se dan al usar OpenSolver

Cuatro casos típicos: una celda vacía que rompe la carga del modelo, un modelo sin solución porque las restricciones se contradicen, el complemento que no aparece en la cinta tras instalarlo y Mac con Excel 2016 o 2019 que se niega a abrir el .xlam.

#¡VALOR! al cargar el modelo: la celda objetivo o una variable está vacía

D8fx#¡VALOR!
A B C D
1 Producto Benef. Uds
2 Silla 18,00
3 Mesa 32,00
4 Estantería 45,00
5 Banco 11,00
6
8 Benef. total #¡VALOR!
C2 C5 están vacías
Mezcla
  1. Selecciona C2 y escribe 0. Repite en C3, C4 y C5.
  2. Vuelve a Datos > OpenSolver > Solve.

Causa: SUMAPRODUCTO devuelve #¡VALOR! si alguna celda del rango está vacía o contiene texto, y OpenSolver no puede leer la fórmula.

CBC no encuentra solución: el modelo es no factible

C16fx320
A B C
10 Recurso min max
11 Horas 0 320
12 Horas 0 320
15 Material 0 240
16 Max horas extra 50
Mezcla
  1. Revisa las restricciones: dos limitaciones que se contradicen (por ejemplo exigir horas mínimas superiores a las horas máximas).
  2. Relaja la restricción imposible (sube el min o baja el max).
  3. Vuelve a Solve.

Causa: CBC marca el modelo como infactible cuando ningún valor de las variables cumple todas las restricciones a la vez.

OpenSolver no aparece en la cinta tras instalarlo

  1. Ve a Archivo > Opciones > Complementos.
  2. En Administrar, elige Complementos de Excel y pulsa Ir.
  3. Marca OpenSolver Solver y pulsa Aceptar.
  4. Si no aparece en la lista, pulsa Examinar y selecciona OpenSolver.xlam.
Nota: si tu Excel tiene directivas que bloquean complementos, el botón "Ir" puede no listar nada; en ese caso, habla con el administrador de tu equipo.

En Mac con Excel 2016 o 2019 el complemento no carga

Nota: OpenSolver necesita Excel 2016 versión 15.28 o superior en Mac; versiones anteriores no cargan el .xlam.
  1. Actualiza Excel: Ayuda > Buscar actualizaciones (o desde la Mac App Store).
  2. Si sigue sin abrir, abre Finder, ve a la carpeta donde descargaste el zip y haz doble clic en OpenSolver.xlam.

Cuándo OpenSolver no es la mejor opción y qué mirar antes

OpenSolver es gratuito y resuelve modelos muy grandes en Windows y en Mac actualizado, pero tiene límites claros. No funciona en Excel para la web ni en Excel para móvil: si trabajas en el navegador o en una tablet, no hay pestaña OpenSolver. Si necesitas motores comerciales como Gurobi o CPLEX, OpenSolver los puede enchufar, pero piden licencia y clave aparte; el motor NEOS se apoya en un servidor externo y exige conexión a internet. Cuando el modelo es muy no lineal, COIN-2 no es el más rápido: conviene explorar SolverStudio, que integra AMPL y permite usar otros motores desde Excel, o pasar el modelo a Google Sheets con su propio Solver y el add-on de Linear Programming para una primera prueba.

Lo que ya sabes hacer con OpenSolver y el siguiente paso

  • Instalar OpenSolver como complemento y encontrar su pestaña en la cinta.
  • Escribir un modelo lineal en la hoja con variables, función objetivo y restricciones.
  • Resolver con CBC, leer la hoja de resultados y ajustar el modelo.
  • Detectar objetivo y restricciones con AutoModel y leer la estructura en Model Viewer.
  • Resolver un modelo no lineal cambiando el motor o desactivando "Assume Linear Model".

El siguiente paso natural es probar un modelo no lineal con un problema donde aparezca =C2^2 o =RAIZ(C2), desactivar “Assume Linear Model” y cambiar a NOMAD o COUENNE desde la lista Solver del cuadro Model. Así verás cómo OpenSolver elige un método distinto y compara los tiempos de cálculo entre motores sobre tu propia hoja.

Dudas al usar OpenSolver en Excel

1. ¿Se puede usar OpenSolver en Google Sheets?

No. OpenSolver es un complemento pensado para el Solver de Excel de escritorio y no tiene versión para Google Sheets. En Sheets puedes usar el complemento nativo de optimización de la propia hoja o pasar el modelo a Excel para resolverlo con OpenSolver.

2. ¿Cómo se instala OpenSolver en Excel?

Descárgalo gratis desde opensolver.org, ejecuta el archivo .exe y reinicia Excel; al volver, verás una nueva pestaña OpenSolver en la cinta con el botón Model. Si tu Excel está en español, el complemento mantiene los nombres de sus menús en inglés y se apoya en el Solver clásico que ya trae Excel.

3. ¿Existe un Solver online para Excel?

No hay un Solver oficial online, pero Solver funciona en Excel para la web, OpenSolver no, así que para modelos grandes necesitas Excel de escritorio. Otra opción es usar hojas de cálculo en la nube con su propio optimizador y luego descargar el resultado a .xlsx.

4. ¿Cómo se usa OpenSolver dentro de Excel?

Carga el modelo, pulsa Model y elige si es lineal (LP/MIP) o no lineal (NLP); OpenSolver detecta variables, restricciones y función objetivo automáticamente y envía el problema a un solver externo. Cuando termina, los valores óptimos aparecen en las celdas y puedes leerlos en la ventana de resultados.

Fuentes

  1. MicrosoftLoad the Solver Add-in in Excel – Microsoft Supportconsultado el 06/10/2026