en iyi kombinasyonu-sırayı bulma bulma

Katılım
25 Ekim 2005
Mesajlar
40
Excel Vers. ve Dili
excel2003 TR
merhaba arkadaşlar, makro bilmediğim için sonuca ulaşamadığım bir problemim var anlatması kolay olsun diye ekteki dosyaya da bakmanızı istiyorum, ilgilenenlere şimdiden çok teşekkür ederim. Sorunum şu: A5:A14 hücreleri arasında birden 10a kadar olan sayılar ve b5:b14 hücreleri arasında bu değerlerin çarpılacağı katsayılar var. SADECE A5:A14 arasındaki sayıların sıralamasını değiştirerek (1 2 3 4 5 6 7 8 9 10 --> 2 3 1 7 5 8 4 6 9 10 gibi)(mümkünse tüm sıralamaları deneyerek) HEDEF FONKSİYONUN DEĞERİNİ EN YÜKSEK YAPAN sıralamayı bulan bir makrolu çözüme ihtiyacım var. sıralamayı düzenli olarakdeğiştirecek her bulduğu en iyi değeri ve sıralamayı daha iyisini bulana kadar saklayacak tüm denemeler tamamlanınca en iyi değeri ve buna bağlı sıralamayı ekrana yazsın istiyorum.(her iki sütünü da azalan sıralaya göre ayrı ayrı sıralatınca maks. çözüm buluyor ama bu fonksiyonu örnek olması için yazdım, asıl istediğim sıralamaların taranıp en iyi çözümü verenin bulunması) yardımcı olursanız çok sevinirim
 
Katılım
25 Nisan 2007
Mesajlar
459
Excel Vers. ve Dili
2007
10 ayrı ihtimale ait tüm olasılıkların sayısı,
10 * 9 * 8 * 7 * 6 * 5 * 4 * 3 * 2 * 1 'dir.

Bu da; 3 milyon 628 bin 8 yüz sayısına eşittir.

Bu sadece olasılıkların sayısı.
Bu olasılıkları teker teker tespit edebilecek en kısa döngüler kümesi tahminime göre en az 20 satırdan oluşur.

ilgili olasılığın çarpımlarının toplamı ve büyüklük sınaması var. bu da iki satır.

Yani minimum ölçüde; 22 satırlık bir kod; 3.500.000 kez dönecek.

Bence isteğinizi VBA ile yapmanın gerekliliğini bir gözden geçirin.
 
Katılım
25 Ekim 2005
Mesajlar
40
Excel Vers. ve Dili
excel2003 TR
Sayın xxcell, yanıtınız ve uyarınız için teşekkür ederim. tüm kombinasyonları denemenin bilgisayar için vakit alacağını tahmin edebiliyorum. 3.628.800 adetlik döngünün tamamlanma süresi tahminen ne kadar vakit alır? 5 dakikaya kadar bir süre benim için makul sayılır.yardımlarınız için teşekkür ederim...
 
Üst