Shadow price

The excel solver has a feature of sensibility analysis.

For example, we want to maximize a linear programming like this.

Run solver, and select the reports you want to see:

The sensibility will be in another spreadsheet.

What does a shadow price means?

For example, the shadow price for constraint2 is equal to 4.

It means that if I increase the right hand size of constraint2 in one unit, the objective function will increase 4 units.

Lets test it:

If I increase constraint2, from 166 to 167, and run solver again, the results will be as below.

The FO was previously 709. Now, it is 713, because the shadow price for this constraint is 4.

If shadow price is zero, it means this constraint is not restricting the problem.

One detail. If I increase too much the value of the RHS of the restriction, it can give another optimal solution.

The maximum I can increase is 14, according to the column “Permitido aumentar” in the Excel report.

Take a look in the file.

Anúncios

Open solver

A tip of a great tool.

Open solver is an Excel addin. It is very similar to the MS solver. The difference is that the default solver has a limit of around 5000 variables. Above this, the user has to purchase the Frontline solver (the name of the company).

Page: https://opensolver.org

To use opensolver, just download, unpack and add it to the Excel supplements.

A good evolution of openSolver is solverStudio, from the same developer. It allows a formulation of the problem using formulas, supports more optimization languages and is faster. But it is also a bit more complex to deal with.

Solver studio https://solverstudio.org

Both of these tools are able to use any solver. The package comes with CBC, the great open source solver from COIN-OR. https://www.coin-or.org/

Frontline solver:

https://www.solver.com/

Ideias técnicas com uma pitada de filosofia

https://ideiasesquecidas.com/

O “cubo torcido”

Forgotten Lore

O “cubo torcido” é o da foto abaixo. Não sei se este é o nome oficial do mesmo, mas é exatamente um Rubik torcido.

O mesmo, bagunçado, fica assim:

Um pouco assustador, mas quase todos os algoritmos são idênticos ao Rubik 3x3x3.

Pré-requisito: saber resolver o 3x3x3.

O primeiro passo é arrumar o primeiro layer, que pode ser feito sem grande dificuldade.

A seguir, arrumar as peças de centro. Esta é a única grande diferença. No Rubik normal, a peça de centro é flat. Aqui, ela é torcida, ou seja, uma rotação errada vai bagunçar a mesma.

A seguir, arrumar as laterais do segundo layer. Aqui, outra ressalva.

Como a peça lateral é indistinguível se está de pé ou de cabeça para baixo, podemos descobrir, no final, uma paridade insolúvel.

Aí, saberemos que há uma das peças laterais de cabeça para baixo – é necessário tirar a peça (qualquer lateral…

Ver o post original 264 mais palavras

Indicator variable

An indicator variable can be useful in several cases.

Suppose we have the situation below.

Three areas, two normal ones, and one emergency area.

To use this emergency area, we need to pay a penalty to activate this area, besides the unitary cost.

Suppose we need a min value of 100.000 tons.

The question. How to model this in Linear integer programming?

Easy. With an indicator variable.

We model everything as usual.

But we add a binary variable (in B17), and a “Big M” calculation in B18.

The “big M” is a number great enough to our purposes.

If indicator is zero, 0*100000 = 0

If indicator is one, 1*100000 = 100000 > 40.000 (bigger than the emergency area).

In the constraints,

B17 = binary

B18 > B17, to force the indicator to be one if emergency area is used.

In Objective Function, we multiply the indicator and the penalty – if indicator is zero, no penalty, if it is one, add penalty.

For example, if the minimum volume is 100.000, then we do need the emergency area:

If the minimum volume is 74000, we don’t need to activate the emergency area.



File to download.

Ideias técnicas com uma pitada de filosofia:

https://ideiasesquecidas.com/

O “cubo fantasma”

Forgotten Lore

O “cubo fantasma” é o da foto abaixo. É um cubo mágico 3x3x3, porém sem cores e completamente assimétrico.

Juro que demorei mais de um ano para resolver este cubo maluco (não contínuos, mexendo de tempos em tempos).

Isto porque a grande dificuldade é saber qual a posição final da peça. Em comparação, no Rubik comum, pelas cores é fácil saber para onde a peça deve ir. No cubo fantasma, praticamente impossível!

Para mim, virou uma busca exaustiva, tentando encaixar peça a peça, girar, tentar encaixar.

Não vou postar um tutorial, porque os algoritmos são os mesmos do Rubik normal. Há, porém, alguns cuidados a tomar.

Uma dificuldade é que a posição final, mostrada abaixo, não é a posição de girar o cubo. Para girar o cubo, temos que girar cada layer para fazer coincidir as peças de centro e edge – e torna mais difícil ainda reconhecer a posição…

Ver o post original 121 mais palavras