Het ICT hoekje

Gestart door MJH, 03-09-2008 20:35:20

Vorige topic - Volgende topic

0 leden en 1 gast bekijken dit topic.

elmarconi

Citaat van: FGG op 15-11-2011 18:56:29
Vanmiddag een uitdaging op mijn werk waar ik (nog) niet uit ben, dus voor de programmeurs onderons (anderen met oplossingen mag ook):

Ik heb een tabel met bedrag tot 92 euro. Tabel bevat ongeveer 300 regels. Ik wil een lijst van combinaties van die regels waarvan de bedragen opgeteld tussen de 90 en 92 euro zijn. Iemand ideeën? Programmeertaal eDev9 of uniPaaS. Oplossingen in bv Excel mag ook. Andere oplossingen graag in een technisch formaat wat ik kan reproduceren in de genoemde programmeertalen. Database is geen SQL.

300 regels (items) geeft hoeveel mogelijke combinaties?

Iets met http://nl.wikipedia.org/wiki/Combinatie_(wiskunde).

Ik heb voor dit soort ellende vaak brute force gebruikt. Maar dan was de set geen 300 regels maar max. 25 oid. en ik zocht de beste combinatie/volgorde.
Random volgorde's of combinaties laten assembleren en het resultaat (mits voldoen aan voorwaarde 90-92 euro) daarvan bewaren.

Resultaten waren verrassend goed. Wel veel rekenwerk, maar dat hoeft/is tegenwoordig niet meer het probleem te zijn.


--
Autogas Inside . . .

FGG

Citaat van: elmarconi op 15-11-2011 19:31:03
Citaat van: FGG op 15-11-2011 18:56:29
Vanmiddag een uitdaging op mijn werk waar ik (nog) niet uit ben, dus voor de programmeurs onderons (anderen met oplossingen mag ook):

Ik heb een tabel met bedrag tot 92 euro. Tabel bevat ongeveer 300 regels. Ik wil een lijst van combinaties van die regels waarvan de bedragen opgeteld tussen de 90 en 92 euro zijn. Iemand ideeën? Programmeertaal eDev9 of uniPaaS. Oplossingen in bv Excel mag ook. Andere oplossingen graag in een technisch formaat wat ik kan reproduceren in de genoemde programmeertalen. Database is geen SQL.

300 regels (items) geeft hoeveel mogelijke combinaties?

Iets met http://nl.wikipedia.org/wiki/Combinatie_(wiskunde).

Ik heb voor dit soort ellende vaak brute force gebruikt. Maar dan was de set geen 300 regels maar max. 25 oid. en ik zocht de beste combinatie/volgorde.
Random volgorde's of combinaties laten assembleren en het resultaat (mits voldoen aan voorwaarde 90-92 euro) daarvan bewaren.

Resultaten waren verrassend goed. Wel veel rekenwerk, maar dat hoeft/is tegenwoordig niet meer het probleem te zijn.




Dat het aantal mogelijke combinaties enorm is, is me duidelijk, mede ook omdat de som ook van meer dan 2 regelsnkan zijn. Enige randvoorwaarde is nog dat wanneer eenmaal een combinatie is gevonden, dat er met die combinatie niet verder wordt gekeken om te kijken of er nog 1 of meer regels bij kunnen waardoor de som nog steeds binnen de marges valt.

Maar ok, brute force gaat 'm niet worden met 300 regels, mede ook omdat dit in de toekomst vaker kan voorkomen en het regels ook zomaar 3000 regels zou kunnen zijn, theoretisch.

Citaat van: LarsDan ga je toch iets langzamer...
Moet ook wel met 100pk minder :eusa_think:

heutink

 >:(
ik heb een HP scherm, type 1940 wat staat te knipperen , ca 1 x per seconde, en als ik hem wat door elkaar schud, gaat het wel weer eens goed, wie weet wat er aan de hand kan zijn  ???
Beter 299 paarden onder de kap, dan de lucht van 10

FGG

Citaat van: heutink op 15-11-2011 19:59:53
>:(
ik heb een HP scherm, type 1940 wat staat te knipperen , ca 1 x per seconde, en als ik hem wat door elkaar schud, gaat het wel weer eens goed, wie weet wat er aan de hand kan zijn  ???

Dat jij ongeveer 60x per seconde schudt?

Citaat van: LarsDan ga je toch iets langzamer...
Moet ook wel met 100pk minder :eusa_think:

elmarconi

Citaat van: FGG op 15-11-2011 19:39:34
Citaat van: elmarconi op 15-11-2011 19:31:03
Citaat van: FGG op 15-11-2011 18:56:29
Vanmiddag een uitdaging op mijn werk waar ik (nog) niet uit ben, dus voor de programmeurs onderons (anderen met oplossingen mag ook):

Ik heb een tabel met bedrag tot 92 euro. Tabel bevat ongeveer 300 regels. Ik wil een lijst van combinaties van die regels waarvan de bedragen opgeteld tussen de 90 en 92 euro zijn. Iemand ideeën? Programmeertaal eDev9 of uniPaaS. Oplossingen in bv Excel mag ook. Andere oplossingen graag in een technisch formaat wat ik kan reproduceren in de genoemde programmeertalen. Database is geen SQL.

300 regels (items) geeft hoeveel mogelijke combinaties?

Iets met http://nl.wikipedia.org/wiki/Combinatie_(wiskunde).

Ik heb voor dit soort ellende vaak brute force gebruikt. Maar dan was de set geen 300 regels maar max. 25 oid. en ik zocht de beste combinatie/volgorde.
Random volgorde's of combinaties laten assembleren en het resultaat (mits voldoen aan voorwaarde 90-92 euro) daarvan bewaren.

Resultaten waren verrassend goed. Wel veel rekenwerk, maar dat hoeft/is tegenwoordig niet meer het probleem te zijn.


Dat het aantal mogelijke combinaties enorm is, is me duidelijk, mede ook omdat de som ook van meer dan 2 regels kan zijn. Enige randvoorwaarde is nog dat wanneer een maal een combinatie is gevonden, dat er met die combinatie niet verder wordt gekeken om te kijken of er nog 1 of meer regels bij kunnen waardoor de som nog steeds binnen de marges valt.

Maar ok, brute force gaat 'm niet worden met 300 regels, mede ook omdat dit in de toekomst vaker kan voorkomen en het regels ook zomaar 3000 regels zou kunnen zijn, theoretisch.

Dat ligt eraan o.a. aan hoevaak je deze combinaties wilt laten opzoeken, en hoe erg het is als er een combinatie niet gevonden wordt.
Dat updaten kan gewoon 's nachts draaien.

Maar ik vind het wel een leuk probleem! 
--
Autogas Inside . . .

viking_in_shorts

Citaat van: heutink op 15-11-2011 19:59:53
>:(
ik heb een HP scherm, type 1940 wat staat te knipperen , ca 1 x per seconde, en als ik hem wat door elkaar schud, gaat het wel weer eens goed, wie weet wat er aan de hand kan zijn  ???

Lamp aan het doodgaan. Nieuwe kopen ...

FGG

Citaat van: elmarconi op 15-11-2011 20:24:30
Dat ligt eraan o.a. aan hoevaak je deze combinaties wilt laten opzoeken, en hoe erg het is als er een combinatie niet gevonden wordt.
Dat updaten kan gewoon 's nachts draaien.

Maar ik vind het wel een leuk probleem! 

In principe gaat 't om alle mogelijke combinaties, maar zoals aangegeven, m.u.v. van uitbreidingen van combinaties die al voorkomen.
Pfff, duidelijk een beetje?

Tijdens m'n denkwerk zat ik te denken om de combinaties naar Excel te pompen maar dat lijkt me niet verstandig, sterker nog, volgens mij stopt Excel bij 65535 regels.

Citaat van: LarsDan ga je toch iets langzamer...
Moet ook wel met 100pk minder :eusa_think:

Marc O.

Citaat van: FGG op 15-11-2011 21:15:46
Citaat van: elmarconi op 15-11-2011 20:24:30
Dat ligt eraan o.a. aan hoevaak je deze combinaties wilt laten opzoeken, en hoe erg het is als er een combinatie niet gevonden wordt.
Dat updaten kan gewoon 's nachts draaien.

Maar ik vind het wel een leuk probleem! 

In principe gaat 't om alle mogelijke combinaties, maar zoals aangegeven, m.u.v. van uitbreidingen van combinaties die al voorkomen.
Pfff, duidelijk een beetje?

Tijdens m'n denkwerk zat ik te denken om de combinaties naar Excel te pompen maar dat lijkt me niet verstandig, sterker nog, volgens mij stopt Excel bij 65535 regels.

Volgens mij gaat Excel 2010 veel verder, maar dat zou je effe kunnen opzoeken.
...The Nile isn't just a river in Africa...

FGG

Citaat van: Marc O. op 15-11-2011 21:22:32
Citaat van: FGG op 15-11-2011 21:15:46
Citaat van: elmarconi op 15-11-2011 20:24:30
Dat ligt eraan o.a. aan hoevaak je deze combinaties wilt laten opzoeken, en hoe erg het is als er een combinatie niet gevonden wordt.
Dat updaten kan gewoon 's nachts draaien.

Maar ik vind het wel een leuk probleem! 

In principe gaat 't om alle mogelijke combinaties, maar zoals aangegeven, m.u.v. van uitbreidingen van combinaties die al voorkomen.
Pfff, duidelijk een beetje?

Tijdens m'n denkwerk zat ik te denken om de combinaties naar Excel te pompen maar dat lijkt me niet verstandig, sterker nog, volgens mij stopt Excel bij 65535 regels.

Volgens mij gaat Excel 2010 veel verder, maar dat zou je effe kunnen opzoeken.

Even zitten rekeken. Als je eens uit gaat van combinaties van 2 regels:

300!/(2!*(300-2)! = 300!/(2*298!) = (300*299)/2 = 44850

En daar komen dan nog de combinaties bij van meer dan 2 regels. :eusa_think:

Citaat van: LarsDan ga je toch iets langzamer...
Moet ook wel met 100pk minder :eusa_think:

elmarconi

Je gaat er nu vanuit dat alle combinaties voldoen aan de randvoorwaarde, tussen 90 en 92 euro.
En 44850 combinaties doorrekenen is een fluitje van een cent!

Ik denk dat een iteratieve loop, met zeg max 5of 10 regels diep zou wel moet kunnen werken.


--
Autogas Inside . . .

FGG

Citaat van: elmarconi op 15-11-2011 21:58:00
Je gaat er nu vanuit dat alle combinaties voldoen aan de randvoorwaarde, tussen 90 en 92 euro.
En 44850 combinaties doorrekenen is een fluitje van een cent!

Ik denk dat een iteratieve loop, met zeg max 5of 10 regels diep zou wel moet kunnen werken.




Klopt, en dan een batch/delete op bedrag is mogelijk, maar die 44k is bij combinaties van 2 regels, alle combinaties zijn 300! combinaties en dat is een getal wat Excel niet kan uitrekenen, sterker nog, ik denk dat 30! al een probleem is.

Ik heb me voorgenomen om alle combi's tot 5 regels te maken en dan de combi's die niet aan de voorwaarden voldoen eruit te halen. Wat er dan overblijft zal de boekhouding wel ff zoet houden...

Citaat van: LarsDan ga je toch iets langzamer...
Moet ook wel met 100pk minder :eusa_think:

Turbo-Geek

Citaat van: CarolineB op 10-11-2011 20:41:10
Citaat van: Johann op 10-11-2011 19:28:59
CiteerApple has just release iOS 5.0.1 to the public, bringing fixes for battery life issues introduced with iOS 5. The release also brings several other enhancements including multitasking gestures for the original iPad.
This update contains improvements and other bug fixes including:

- Fixes bugs affecting battery life
- Adds Multitasking Gestures for original iPad
- Resolves bugs with Documents in the Cloud
- Improves voice recognition for Australian users using dictation
The build number on the public release is 90A405, an increment of one build over the beta 2 build seeded to developers last Friday.

iOS 5.0.1 is available for iPhone (4S, 4, and 3GS), iPod touch (third- and fourth-generation), and all iPad models. The update is available for download via iTunes, but is not yet showing up as an over-the-air update for direct download to iOS devices.

De update via iTunes is om en nabij de 800 Mb maar het schijnt dat de update nu ook via IOS5 beschikbaar komt en dan is het maar ~46 Mb.
Kom vanmiddag thuis, zegt Ernest:  de Ipad doet het niet meer :(
Ga zo eerst maar is kijken of ik dat ding weer aan de praat kan krijgen via Itunes.
Zo niet, dan maar zaterdag even naar Icentre Zeist.

Edit: niet gelukt :(


Lees die klacht de laatste tijd vaker. De mijnes doet het nog wel en voorlopig blijf ik gewoon 5.0 draaien.
Wacht op de jailbreak en ik geloof het dan wel.
Dat gazannik met itunes ben ik al jaren zat en raad aan om Copy Trans Manager te gebruiken voor Data (muziek, foto's, data backups, etc.)
-------------------------------------------------------
  The things you own end up Owning you !
-------------------------------------------------------

elmarconi

#2757
Citaat van: FGG op 15-11-2011 22:25:25
Citaat van: elmarconi op 15-11-2011 21:58:00
Je gaat er nu vanuit dat alle combinaties voldoen aan de randvoorwaarde, tussen 90 en 92 euro.
En 44850 combinaties doorrekenen is een fluitje van een cent!

Ik denk dat een iteratieve loop, met zeg max 5of 10 regels diep zou wel moet kunnen werken.


Klopt, en dan een batch/delete op bedrag is mogelijk, maar die 44k is bij combinaties van 2 regels, alle combinaties zijn 300! combinaties en dat is een getal wat Excel niet kan uitrekenen, sterker nog, ik denk dat 30! al een probleem is.

Ik heb me voorgenomen om alle combi's tot 5 regels te maken en dan de combi's die niet aan de voorwaarden voldoen eruit te halen. Wat er dan overblijft zal de boekhouding wel ff zoet houden...

Net even (met NL-DE op de achtergrond) in Excel Visual Basic een PoC gebroddeld, max 3 artikelen diep met een 300 regels random dataset 0-92 euro.
Ik kwam na enig hak en breekwerk op dik 52000 combinaties...  :o

--edit-- 2e random dataset levert 51951 hits... 3e set loopt nu.

57640...


--
Autogas Inside . . .

FGG

Citaat van: elmarconi op 15-11-2011 22:50:07
Citaat van: FGG op 15-11-2011 22:25:25
Citaat van: elmarconi op 15-11-2011 21:58:00
Je gaat er nu vanuit dat alle combinaties voldoen aan de randvoorwaarde, tussen 90 en 92 euro.
En 44850 combinaties doorrekenen is een fluitje van een cent!

Ik denk dat een iteratieve loop, met zeg max 5of 10 regels diep zou wel moet kunnen werken.


Klopt, en dan een batch/delete op bedrag is mogelijk, maar die 44k is bij combinaties van 2 regels, alle combinaties zijn 300! combinaties en dat is een getal wat Excel niet kan uitrekenen, sterker nog, ik denk dat 30! al een probleem is.

Ik heb me voorgenomen om alle combi's tot 5 regels te maken en dan de combi's die niet aan de voorwaarden voldoen eruit te halen. Wat er dan overblijft zal de boekhouding wel ff zoet houden...

Net even (met NL-DE op de achtergrond) in Excel Visual Basic een PoC gebroddeld, max 3 artikelen diep met een 300 regels random dataset 0-92 euro.
Ik kwam na enig hak en breekwerk op dik 52000 combinaties...  :o

--edit-- 2e random dataset levert 51951 hits... 3e set loopt nu.

57640...

Thnx voor het proberen. Ik ga ergens deze week even kijken wat ie met 4 of 5 nivo's doet.

Morgen niet: Raamsdonkveer. Overmorgen ook niet: Schiphol. Misschien morgen op de hotelkamer...

Citaat van: LarsDan ga je toch iets langzamer...
Moet ook wel met 100pk minder :eusa_think:

Manga

Is een Volvo nou echt een ict er auto? of lijkt dat maar zo hier..
850R 2.0 DOP