• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Kombinasyon

Sürekli mantığımıza ters gelen bişeyler çıkıyor ve orada takılıp kalıyoruz. Mesela son gönderdiğiniz örnekteki sayılara baktığımda en büyük değer 13,89 sonraki ise 7,01 sayıların arasında da 8,33 gibi bir rakam var şimdi eb büyüğe dağıtım yaparken 8,33 ü seçmiyor böyle olunca 8,33 7,01 den de büyük olduğuna göre sistem çöküyor. Yani aslında mantığı tam olarak oturtmuş durumda değiliz.
Mesela mantık şöyle kurulabilir sayılar büyükten küçüğe doğru 13,89 a ulaşmak için toplana toplana gitsin ancak bir yerde durup kalan değerlerden yine bir optimazyon işlemi yapmak lazım vs vs önce mantığı oturtmamız lazım yani düşünelim biraz daha :(
 
ilk gönderdiğiniz örnekte olduğu gibi tek tek yapılamazmı?
örnek:13,89 atamaları yapılır ve bu değerler ve bu değerlere ait satırlar ,satır no'larıda dahil kesilip başka sayfaya yapıştırılır..Daha sonra ikinci en büyük değer kalan değerler üzerine dağıtılır ve buda kesilip başka sayfaya atılır.kalanda üçüncüye dağıtılır zaten önceki 2 değer tam değer veya en yakın değer olacağı için üçüncü değerde bir anomali gözükmez.
Böylece eleme usülü ile kalan değerler üzerinde daha rahat çalışılmış olur.İçiçe mantık örgüsündende kurtulunmuş olur.
 
Benim anladığım kadarıyla bu problem atanan değerler ile istenen değerlerin arasındaki farkların mutlak değerlerinin toplamının minimizasyonunu hedef alan bir problem, ancak bu haliyle solvera çözdürmek zor ayrı kod yazmak lazım. Ayrı kod yazarken de mantığını belirlemek lazım. Biz sayıların nasıl dağıtılacağını önce ortaya koyacaz daha sonra buna göre kod yazıcaz.
 
Bir diğer hususta sayıları rastgele belirlemek problemin çözümünü zorlaştırıyor. Gerçekçi değerler verirseniz belki daha kolay çözebiliriz. Mesela iki tane 8,33 değeri var. Bu iki değerin olması normal mi?
Sorular:
En büyük değerden daha büyük değer olması normal mi?
İlk atamadan sonra ikinci büyük değerden daha büyük değer kalmış olması normal mi?
Bunların da cevaplanması lazım.
 
reel bir ornek ektedir.
İki adet 8,33 değeri çok sık olmamakla beraber ihtimal dahilindedir.Yani burada bir müşteri her bir üründen 20 şer adet isteyipte bir üründen 1000 adet istemesi gibi bir şey.Olabilir.
en büyük değerden daha büyük değer olabilirmi?çok nadirde olsa evet...zaten ilk açıklamadaki durum ortaya çıktığında bu durumlar gerçekleşir.
İkinci soru içinde evet denilebilir ama bu soruların cevapları hepsi bir anomalidir ve gerçekleşme olasılığı % 1'dir.İhmal edilebilir..
Size gönderdiğim ekteki veriler gerçek bir talepten alınmıştır.
 

Ekli dosyalar

Dediğiniz gibi bu gibi durumları ihmal ettiğimizde en son çalışan dosya problemi çözebilir zannediyorum.
Gerçek talep ile ilgili gönderdiğiniz dosya ile ilgili atamaların yapılması istenen sayıları da almam lazım.
 
En son gönderdiğiniz dosyadaki kodların zaman zaman bazı harfleri atamadığını,pas geçtiğine dikkatinizi çekmek isterim.Ayrıca ilk gönderdiğiniz dosyaya göre daha yavaş çalışıyor.
Bu sebeple ben ilk gönderdiğiniz dosya üzerinde daha çok duruyorum.İlk gönderilen dosyada en büyük değerin atamasını yaptıktan sonra bu ataması yapılan değerleri manuel olarak sistemden dışarı çıkaracağım,daha sonra ikinci en büyük değeri kalan veriler üzerinde işleteceğim.Bu şekilde eleme usulü şeklinde yapmayı düşünüyorum.
 
Gerçek talep değerleri ile denediğinizde de hata veriyor mu?
Yavaş çalışmasının nedeni büyük değerlerin atanmasını sağlamak maksadıyla eklediğim kodlardan kaynaklanıyor.
 
evet,,reel örnek dosyasında 1.örneği monte ettim...baya uzun sürdü ve escape ile çıkmak zorunda kaldım.

3.ncü örnekte ise süre kısa ancak tamamını tek bir harfe atıyor.
 
birde ilk örnekdede bir şey daha tespit ettim...aşağıdaki verileri monte ettiğimde
2,61
1,82
1,25
0,77
0,77
ve 3,2 yi dağıt dediğimde en uygun değer olarak 2,61 seçiyor.oysa 1,82+1,25 yapması gerekiyordu=3,07
yani en uygun değerden ziyade verilen rakama en yakın yüksek değeri atama yapıyor ,,buda yanlışlara sebebiyet veriyor...
 
Örneğin son halini dağılacak üç grup rakamları da dahil olacak şekilde ekler misiniz?
 
Sn.Barons şimdi şöyle bir durum var. İlk atama da uygun değerleri atamak kolay ancak ikinci ve üçüncü atamaları göz ardı ederek atama yapmak gerçekçi olmaz çünkü ilk atamada biz yakın bir değer bulduğumuzu zannetsekte bazı sayıları kullandığımız için ikinci atamada atadığımız rakamlarla istediğimiz arasında büyük farklar oluşabilir. Buna rağmen ilk atama da uygun sayıları atamaya yönelik kodları istiyorsanız onları da gönderebilirim.
 
Gönderirseniz sevinirim.
İlk atamada en uygun değerleri atarken zaten tüm değerler baz alınıyor.Arada çok ciddi farklar olmaz diye düşünüyorum.
Eğer yapabilirseniz şöyle çok makbule geçer.
tek tek atama yapılacağını farz edelim.ilk değer mesela en büyük değer olan 5,3 olsun ve ilk atamayı yapsın ve harfde A olsun.sonra bu A harfini içeren tüm satırları başka bir sayfaya aktaralım.
sonra ikinci en büyük atama 3,2 diyelim ve B harfi.kalan rakamlar üzerinde bunların atamasını yapıp yine başka sayfaya kesip atalım.ve kalanda zaten üçüncü harf olacaktır.
sonra tüm bu değerler tek sayfada toplamak kolay gibime geliyor ...
 
Dağıtımları birbirinden bağımsız olarak yapacak şekilde düzenledim. Umarım işinize yarar.
 

Ekli dosyalar

işden dolayı şimdi bakabildim..kusura bakmayın
çok teşekkürler...şu an olmuş gözüküyor..sizede baya zahmet verdim...
A,B ve C makinalarına sırayla 6-12-8,74 girdim ve süper çok hassas sonuç verdi.elinize sağlık.
ancak;
yine A,B ve C makinalarına sırayla 9-9-8,74 yani eşit yük dağıtınca A makinasına hiç yük dağıtmadı.Burada sanırım ufak bir sorun oluşuyor.
Bir denerseniz memnun olurum.
 
son gönderdiğniz dosyada denemeler yaptım...70 adete çektim verileri...hız gayet güzel ve değişik rakamlarla denemeler yaptım..prezisyon hatası çok düşük...tek kelimeyle mükemmel..elinize sağlık...sanırım sadece eşit yüklerde sorun çıkabiliyor...Buradada manuel müdahele ederiz olur biter...teşekkürler
 
Sn Janveljan
Sizide bir hayli yordum ancak Yeni bir kararla "D" harfli bir ünite daha ilave edilecek sisteme.
Son gönderdiğiniz dosyada kod'u D harfinide kapsayacak şekilde genişletmek mümkünmü?
Kusura bakmayın
 
Dört makinaya uyarladım umarım hata çıkmaz güle güle kullanın.

Ayrıca makinalara yükleri eşit verirseniz problem çıkması normal çünkü program büyükten küçüğe göre işlemleri yapıyor, ve harfleri de ona göre alıyor ancak iki eşit değer varsa ikiside aynı harfi alır ve bu sıkıntı oluşur.
 

Ekli dosyalar

Geri
Üst