• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Solver Excel

Status
Niet open voor verdere reacties.

osneck

Gebruiker
Lid geworden
31 okt 2008
Berichten
9
Hallo,

Ik heb een klein bestandje met 24 getallen. De som van de getallen wil ik minimaliseren met behulp van de Solver functie in Excel.
Ik heb twee constraints:
-aantal getallen = 6
-getallen moeten hele getallen zijn (dus 0 of 1)
Nu wil ik een 3e constraint toevoegen: De 6 getallen moeten opeenvolgend zijn, dus niet een combinatie van de 24 getallen, maar welke 6 getallen naast elkaar opgeteld minimaal zijn?

Bijgevoegd het bestandje,

Groeten Osneck
 

Bijlagen

Als het toch 6 opeenvolgende waarden moeten zijn, zou ik geen Solver gebruiken maar ee (matrix)formule. Alternatief, een paar extra rijen met tussenberekeningen in.
 
Als het toch 6 opeenvolgende waarden moeten zijn, zou ik geen Solver gebruiken maar ee (matrix)formule. Alternatief, een paar extra rijen met tussenberekeningen in.

Bedankt voor je reactie, waarom dit advies?
Daarnaast verkrijg ik de gegevens door middel van een export functie uit een extern programma, dus daar kan ik geen aanpassingen aan maken. Bij deze ook de VBA code:

SolverReset
SolverOk SetCell:="$B$5", MaxMinVal:=2, ValueOf:="0", ByChange:="$C$1:$Z$1"
SolverAdd CellRef:="$AA$1", Relation:=2, FormulaText:="6"
SolverAdd CellRef:="$C$1:$Z$1", Relation:=5, FormulaText:="binary"
SolverOk SetCell:="$B$5", MaxMinVal:=2, ValueOf:="0", ByChange:="$C$1:$Z$1"
SolverSolve userFinish:=True
 
Bedankt voor je reactie, waarom dit advies?
Daarnaast verkrijg ik de gegevens door middel van een export functie uit een extern programma, dus daar kan ik geen aanpassingen aan maken. Bij deze ook de VBA code:

Solver is beperkt in die zin dat het soms geen optimum kan vinden, afhankelijk van de waarden waarmee je start.
 
Solver is beperkt in die zin dat het soms geen optimum kan vinden, afhankelijk van de waarden waarmee je start.

ok, hoe zou ik voor deze vraag: "geef de 6 aansluitende getallen die, opgeteld het laagst zijn, binnen mijn bereik van 24 getallen" anders kunnen oplossen?
 
ok, hoe zou ik voor deze vraag: "geef de 6 aansluitende getallen die, opgeteld het laagst zijn, binnen mijn bereik van 24 getallen" anders kunnen oplossen?

Met formules:

Maak een extra rij, met daar per kolom de som van de 6 volgende waarden.

Dan 1 cel met het minimum van die nieuwe waarden.

Dan 1 cel met een VERGELIJKEN functie om het minimum op te zoeken in dat bereik.

(Dan 6 VERSCHUIVING functies om de 6 getallen over te halen, als je dat wenst.)

Wigi
 
Met formules:

Maak een extra rij, met daar per kolom de som van de 6 volgende waarden.

Dan 1 cel met het minimum van die nieuwe waarden.

Dan 1 cel met een VERGELIJKEN functie om het minimum op te zoeken in dat bereik.

(Dan 6 VERSCHUIVING functies om de 6 getallen over te halen, als je dat wenst.)

Wigi

Ok, som en minimum en gecreerd.
Vergelijk functie -zoekwaarde als minimum, zoeken matrix als cellenbereik (waarde van de 24 getallen?), resultaat = 1?.
Verschuiving zie ik niet..

Daarnaast springt het minimum van de laatste 5 getallen (van de 24 getallen reeks) weer naar het begin, dit zou beter zijn als dat juist in de toekomst verplaatst wordt als de data wordt verlengd met 24.
 
zie attachment

Super man, bedankt voor je effort. Alleen worden de laatste 5 getalllen nu niet meegewogen in mijn overweging, terwijl deze zijn toch echt onderdeel zijn van het bereik. Daarnaast zou het bereik ook vergroot moeten kunnen worden, zodat de eerste nieuwe 5 getallen van de verlening van het bereik ook meegewogen kunnen worden.
 
Super man, bedankt voor je effort. Alleen worden de laatste 5 getalllen nu niet meegewogen in mijn overweging, terwijl deze zijn toch echt onderdeel zijn van het bereik. Daarnaast zou het bereik ook vergroot moeten kunnen worden, zodat de eerste nieuwe 5 getallen van de verlening van het bereik ook meegewogen kunnen worden.

Sorry, je ontwerp klopt!! Ik heb je ontwerp nu uitgebreid om bijvoorbeeld het minimum van 12 waarden te krijgen. Kun je checken of het klopt? Ik heb alles aangepast behalve de verschuiving functie!

Bestand in bijlage
 

Bijlagen

E8:E9 gebruikte ik voor de Solver, maar dat vind ik niet bevredigend.

De rest klopt.
 
E8:E9 gebruikte ik voor de Solver, maar dat vind ik niet bevredigend.

De rest klopt.

Ok helemaal top!

Als laatst; hoe kan ik nu aangeven dat het bereik verlengd moet worden, naar bijv de volgende 6 of 12 waarden en als er geen verdere data is dat deze niet meegewogen dienen te worden. Anders worden namelijk de overige 6 of 12 cellen als 0 beschouwd en klopt de vergelijking niet meer.
Tweede moeilijkheid, zoals je ziet komen cellen met 0 daadwerkelijk voor in mijn data, dus ik kan ook niet de definitie (als 0, dan niet mee rekenen) toevoegen. Het kan namelijk zijn dat het eerste getal van de nieuwe reeks getallen een 0 is.
 
Als laatst; hoe kan ik nu aangeven dat het bereik verlengd moet worden, naar bijv de volgende 6 of 12 waarden en als er geen verdere data is dat deze niet meegewogen dienen te worden. Anders worden namelijk de overige 6 of 12 cellen als 0 beschouwd en klopt de vergelijking niet meer.

De formules zal je tot de juiste kolom moeten doortrekken.

Tweede moeilijkheid, zoals je ziet komen cellen met 0 daadwerkelijk voor in mijn data, dus ik kan ook niet de definitie (als 0, dan niet mee rekenen) toevoegen. Het kan namelijk zijn dat het eerste getal van de nieuwe reeks getallen een 0 is.

In plaats van de som van de volgende 6 te berekenen, zal dat moeilijker worden.

Wellicht een matrixformule als ik het zo op het eerste zicht bekijk.

Wigi
 
De formules zal je tot de juiste kolom moeten doortrekken.



In plaats van de som van de volgende 6 te berekenen, zal dat moeilijker worden.

Wellicht een matrixformule als ik het zo op het eerste zicht bekijk.

Wigi



Ok thanx, hoe kan dat worden opgezet voor cellen die misschien wel/niet niet bestaan?

Thanx Osneck
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan