0-1 problemler 0-1 problemleri tam sayılı programlama problemler sınıfının önemli problemlerinden biridir. Bu tür problemlerde karar değişkeni sadece 0-1.

Slides:



Advertisements
Benzer bir sunumlar
Veri Yapıları ve Algoritmalar
Advertisements

Hâsılat kavramları Firmaların kârı maksimize ettikleri varsayılır. Kâr toplam hâsılat ile toplam maliyet arasındaki farktır. Kârı analiz etmek için hâsılat.
Algoritma.  Algoritma, belirli bir görevi yerine getiren sonlu sayıdaki işlemler dizisidir.  Başka bir deyişle; bir sorunu çözebilmek için gerekli olan.
Hat Dengeleme.
ARAZİ ROBOTU KAVRAMSAL TASARIMI
Doğrusal Programlama Linear Programming
Arş.Gör.İrfan DOĞAN.  Bugün otizm tedavisinde en önemli yaklaşım, özel eğitim ve davranış tedavileridir.  Tedavi planı kişiden kişiye değişmektedir,
Greedy Algorithms.
Örnek 1 Kullanıcının girdiği bir sayının karesini hesaplayan bir program yazınız.
KİRİŞ YÜKLERİ HESABI.
İSTATİSTİK II BAĞIMSIZLIK TESTLERİ VE İYİ UYUM TESTLERİ “ c2 Kİ- KARE TESTLERİ “
Sözsüz İletişimin Özellikleri
YÖNLENDİRME. Yönlendirme ● Statik ● Dinamik ● Kaynakta yönlendirme ● Hop by hop yönlendirme.
Leyla İÇERLİ Araş. Gör. Dr. Aksaray Üniversitesi İİBF İşletme Bölümü.
Öğr. Gör. Dr. İnanç GÜNEY Adana MYO
BİLGİSAYAR PROGRAMLAMA DERSİ
0-1 Sırt Çantası Problemi
HİPOTEZ TESTLERİ VE Kİ-KARE ANALİZİ
Eğitimde ve Psikolojide ÖLÇME VE DEĞERLENDİRME
T- Testİ: ORTALAMALAR ARASI FARKLARIN TEST EDİLMESİ
Tüm ikililer arasında en kısa yollar
DENEYSEL TERTİPLER VE PAZAR DENEMESİ
TBF Genel Matematik II DERS – 9 : Doğrusal Programlama
ÖRNEKLEME.
1. Bernoulli Dağılımı Bernoulli dağılımı rassal bir deneyin sadece iyi- kötü, olumlu-olumsuz, başarılı-başarısız, kusurlu-kusursuz gibi sadece iki sonucu.
İSTATİSTİK II Hipotez Testleri - 2.
Yapay Sinir Ağı Modeli (öğretmenli öğrenme) Çok Katmanlı Algılayıcı
The Simple Linear Regression Model
Ünite 8: Olasılığa Giriş ve Temel Olasılık Hesaplamaları
GELECEK PİYASASI İŞLEMLERİ
MATEMATİK DERSİ ÖĞRETİM PROGRAMI
Yrd.doç.Dr. H. Deniz GüllerOĞlu
ZAMAN DERS ÇİZELGELEME PROBLEMİ
EVREN VE ÖRNEKLEME YÖNTEMLERİ.
Bağımlı (Eşleştirilmiş) Örneklerde t-Testi (Paried Sample t test) Menüsü Bağımlı örnekler için deney tasarımı iki farklı biçimde karşımıza çıkmaktadır.
PARAMETRİK HİPOTEZ TESTLERİ
Bölüm 7 İfadeler ve atamalar.
GAMS GAMS de karakterlerin büyük, ya da küçük olması önemli değildir;
CİHANGİR MAHALLESİ YAPISAL RİSK ANALİZİ
ÖDE5024 DAVRANIŞ BİLİMLERİNDE İSTATİSTİK Yüksek Lisans
İleri Algoritma Analizi
Benzetim 11. Ders İmalat Yönetimde Benzetim.
Kemal AKYOL, Şafak BAYIR, Baha ŞEN
NİŞANTAŞI ÜNİVERSİTESİ
Öğrenci Başarısının Belirlenmesinde Yeni Yaklaşımlar
Test Geliştirme Süreci
NİŞANTAŞI ÜNİVERSİTESİ
Algoritmalar II Ders 15 En Küçük Örten Ağaçlar.
Test Puanlarının Yorumlanması: Standart Puanlar
Geliştirme Genel Müdürlüğü
GAMS GAMS de karakterlerin büyük, ya da küçük olması önemli değildir;
Deklarasyonun Amaçları
Lagrange İnterpolasyonu:
NİŞANTAŞI ÜNİVERSİTESİ
İSTATİSTİK II Hipotez Testleri 3.
Nitel Araştırma Süreci
NİŞANTAŞI ÜNİVERSİTESİ
BLM-111 PROGRAMLAMA DİLLERİ I Ders-10 Diziler
BAP Koordinatörlüğünün Görev ve Sorumlulukları
NİŞANTAŞI ÜNİVERSİTESİ
Kesikli Olay benzetimi Bileşenleri
Algoritmalar II Ders 15 En Küçük Örten Ağaçlar.
TBF Genel Matematik II DERS – 9 : Doğrusal Programlama
8. Ders Tüm ikililer arasında en kısa yollar
RASTGELE DEĞİŞKENLER Herhangi bir özellik bakımından birimlerin almış oldukları farklı değerlere değişken denir. Rastgele değişken ise tanım aralığında.
PROBLEM ÇÖZME TEKNİKLERİ
Bilimsel Araştırma Yöntemleri
Bilimsel araştırma türleri (Deneysel Desenler)
Geliştirme Genel Müdürlüğü
Kararların Modellenmesi ve Analizi Ders Notu III
Sunum transkripti:

0-1 problemler 0-1 problemleri tam sayılı programlama problemler sınıfının önemli problemlerinden biridir. Bu tür problemlerde karar değişkeni sadece 0-1 değerlerini alır. Yani, 𝑥= 1, 𝑒ğ𝑒𝑟 𝑜𝑙𝑎𝑦 𝑔𝑒𝑟ç𝑒𝑘𝑙𝑒ş𝑖𝑦𝑜𝑟𝑠𝑎 0, 𝑑.𝑑.

SIRT ÇANTASI PROBLEMİ (KNAPSACK) Bu problemlere örnek olarak SIRT ÇANTASI PROBLEMİ’ni gösterelim VERİLER: 𝑛−𝑜𝑏𝑗𝑒𝑙𝑒𝑟𝑖𝑛 𝑒ş𝑦𝑎𝑙𝑎𝑟ı𝑛 𝑠𝑎𝑦ı𝑠ı, 𝑎 𝑗 −𝑗. 𝑒ş𝑦𝑎𝑛ı𝑛 𝑎ğı𝑟𝑙ığı, 𝑐 𝑗 −𝑗. 𝑒ş𝑦𝑎𝑛ı𝑛 𝑓𝑎𝑦𝑑𝑎𝑙ı𝑙ığı, 𝑏−𝑠ı𝑟𝑡 ç𝑎𝑛𝑡𝑎𝑠ı𝑛ı𝑛 𝑘𝑎𝑝𝑎𝑠𝑖𝑡𝑒𝑠𝑖

DEĞİŞKENLER: (karar değişkeni) 𝑥 𝑗 = 1 , 𝑒ğ𝑒𝑟 𝑗. 𝑒ş𝑦𝑎 ç𝑎𝑛𝑡𝑎𝑦𝑎 𝑘𝑜𝑛𝑑𝑢𝑦𝑠𝑎, 0, 𝑑.𝑑.

KISITLAR ve AMAÇ FONKSİYONU 𝑗=1 𝑛 𝑎 𝑗 𝑥 𝑗 ≤𝑏 Çantaya konulacak eşyalar, çantanın kapasitesini aşmayacak. max 𝑍= 𝑗=1 𝑛 𝑐 𝑗 𝑥 𝑗 Bu problemin amacı, toplam faydalılığı maksimize etmektir.

ÖRNEK: Bir şirket, kapasitesi 700 ton olan bir yük gemisine sahiptir. Bu şirket belli bir rota ile farklı ağırlıklara sahip konteynerler taşımaktadır. Belli bir seyahat esnasında bu şirket aşağıdaki konteynerlerin bazılarını taşımalıdır:

Şirket, taşınacak yükü maksimize edecek yükleme şeklini belirlemelidir. Bu problem 0-1 sırt çantası problemi olarak formüle edile bilir.

DEĞİŞKENLER ve KISITLAR: 𝑥 𝑗 = 1 , 𝑒ğ𝑒𝑟 𝑗.𝑘𝑜𝑛𝑡𝑒𝑦𝑛𝑒𝑟 𝑡𝑎şı𝑛𝑎𝑐𝑎𝑘𝑠𝑎, 0, 𝑑.𝑑. Toplam yük geminin kapasitesini aşmayacak. 100 𝑥 1 +155 𝑥 2 +50 𝑥 3 +112 𝑥 4 +70 𝑥 5 +80 𝑥 6 +60 𝑥 7 +118 𝑥 8 + 110 𝑥 9 ++55 𝑥 10 ≤700 Burada 𝑎 𝑗 = 𝑐 𝑗 dir.

AMAÇ FONKSİYONU: Bu yük gemisinin taşıyacağı yükün maksimize edilmesidir. 𝑧= 𝑗=1 10 𝑐 𝑗 𝑥 𝑗 =100 𝑥 1 +155 𝑥 2 +50 𝑥 3 +112 𝑥 4 + 70 𝑥 5 +80 𝑥 6 +60 𝑥 7 +118 𝑥 8 +110 𝑥 9 ++55 𝑥 10

Problemin GAMS Kodu $title The 0-1 Knapsack Problem OPTION OPTCR=1e-10; SET J set of containers /c1*c10/; PARAMETERS C(J) benefit of container J /c1 100 c2 155 c3 50 c4 112 c5 70 c6 80 c7 60 c8 118 c9 110 c10 55/

A(J) weight of ontainer J; A(J) = C(J); SCALAR B maximum capacity of the freighter /700/; Variables z objective function variable x(J) binary choice; BINARY VARIABLE x; EQUATIONS COST objective function equation CAPA is the loading of the freighter;

COST. z =E= SUM(J, C(J). x(J)); CAPA. SUM(J, A(J) COST .. z =E= SUM(J, C(J)*x(J)); CAPA .. SUM(J, A(J)*x(J)) =L= B; MODEL knapsack /ALL/; SOLVE knapsack USING mip MAXIMIZING z; Sonuç: Z=700 Seçilen konteynerler: 𝐶 1 , 𝐶 3 , 𝐶 4 , 𝐶 5 , 𝐶 6 , 𝐶 7 , 𝐶 8 , 𝐶 9 .

AKADEMİ PROBLEMİ. Akademi problemini örnek üzerinde göstermeğe çalışalım: Varsayalım ki, mühendislik akademisinin m sayıda üyesi var ve J aday kümesinden r sayıda yeni üye seçilmesi gerekiyor. Bu amaçla her gerçek üyeye en az 0, en fazla r sayıda adayı desteklemek fırsatı verilmiştir. En çok destek alan r aday akademiye alınacaktır. Seçim iki aşamalı yapılıyor.

Final seçim sürecinin öncesinde her adayın destek derecesini öğrenmek için ön test yapılmaktadır Bu süreçte her gerçek üye P listesinde en fazla s adaya bir skor ataya bilir, fakat her kese de skor atamak zorunda değil. Her adayın sadece aldığı skorların toplamı bilinmektedir. Problem, test sonuçlarına dayanarak her adayın minimal ve maksimal sayıdaki final destek miktarlarının belirlenmesinden oluşmaktadır. Böyle ki, bir adaya skor atanması, bu adayın gerçek üye tarafından desteklenmesi anlamına gelir. Problem aşağıdaki gibi formüle edilir:

VERİLER: 𝐼 − 𝑀üℎ𝑒𝑛𝑑𝑖𝑠𝑙𝑖𝑘 𝑎𝑘𝑎𝑑𝑒𝑚𝑖𝑠𝑖𝑛𝑑𝑒𝑘𝑖 𝑔𝑒𝑟ç𝑒𝑘 ü𝑦𝑒 𝑠𝑎𝑦ı𝑠ı, 𝐽−𝑎𝑑𝑎𝑦 𝑠𝑎𝑦ı𝑠ı, 𝑆− 𝑎𝑡𝑎𝑛𝑎 𝑏𝑖𝑙𝑒𝑐𝑒𝑘 𝑓𝑎𝑟𝑘𝑙ı 𝑠𝑘𝑜𝑟 𝑚𝑖𝑘𝑡𝑎𝑟ı, 𝑝 𝑠 −𝑠. 𝑠𝑘𝑜𝑟, 𝑐 𝑗 −𝑗. 𝑎𝑑𝑎𝑦ı𝑛 𝑡𝑜𝑝𝑙𝑎𝑚 𝑠𝑘𝑜𝑟𝑢.  

KARAR DEĞİŞKENİ:   𝑥 𝑖𝑗𝑠 = 1 , 𝑒ğ𝑒𝑟 𝑖.ü𝑦𝑒 𝑗. 𝑎𝑑𝑎𝑦𝑎 𝑝 𝑠 𝑠𝑘𝑜𝑟𝑢 𝑎𝑡𝑎𝑟𝑠𝑎, 0, 𝑑.𝑑.

KISITLAR: 𝑠=1 𝑆 𝑥 𝑖𝑗𝑠 ≤1 ∀𝑖=1,…𝐼 , ∀𝑗=1,…𝐽  Her üye, her adaya en fazla 1 skor ataya bilir.   𝑠=1 𝑆 𝑥 𝑖𝑗𝑠 ≤1 ∀𝑖=1,…𝐼 , ∀𝑗=1,…𝐽 Her üye, 𝑝 𝑠 skorunu en fazla 1 adaya ataya bilir. 𝑗=1 𝐽 𝑥 𝑖𝑗𝑠 ≤1 ∀𝑖=1,…𝐼 , ∀𝑠=1,…𝑆

Her adayın atayabileceği toplam skor, önceden verilmiş olan sayıya eşit olmalıdır. 𝑖=1 𝐼 𝑠=1 𝑆 𝑝 𝑠 𝑥 𝑖𝑗𝑠 = 𝑐 𝑗 ∀𝑗=1,…𝐽

AMAÇ FONKSİYONU:   Her aday için, aldığı destek sayısının hem minimum, hem de maksimum değerinin bulunması gerekiyor. 𝑧= 𝑖=1 𝐼 𝑠=1 𝑆 𝑥 𝑖𝑗𝑠 ∀𝑗=1,…𝐽  𝑧 →𝑚𝑖𝑛 𝑧 →𝑚𝑎𝑥

ÖRNEK: Varsayalım ki, mühendislik akademisinin 20 üyesi var. J=8 aday içerisinden r=4 adayın seçilmesi gerekiyor. Skorların (p1= 10 , p2= 8 , p3= 3 , p4= 1) olduğunu, dolayısı ile s=4 olduğu verilmektedir. Her adayın aldığı skor, tabloda verilmiştir:  

Varsayalım ki, atamalar aşağıdaki şekilde gerçekleşmiştir (bu bilgi bize konuyu anlamak için verilmiş, normalde bu bilgiye sahip değiliz.) :

Problemin GAMS Kodu $title the academy problem SETS I number of actual members /1*20/ J number of candidates /1*8/ DIN(J) S the number of different scores that can be assigned /1*4/; ALIAS(J,J1); PARAMETER P(S) the $s$-th score /1 10 2 8 3 3 4 1/;

TABLE N(I,J) score assigned to candidate J by actual member I 1 2 3 4 5 6 7 8 1 3 10 8 1 2 1 10 8 3 3 1 3 10 8 4 3 10 8 1 5 4 8 10 1 6 1 10 8 3 7 10 8 3 1 8 3 10 1 8 9 8 3 10 1 10 3 10 1 8 11 8 1 10 3 12 10 13 10 8 14 10 1 3 8 15 3 10 8 1 16 10 1 8 3 17 1 3 10 8 18 1 3 8 10 19 1 10 3 8 20 8 1 10 3;

SCALARS zmin, zmax; PARAMETER C(J) total score obtained by candidate J; C(J)=sum(I,N(I,J)); Variables z function to be optimized; BINARY VARIABLE x(I,J,S) if member I assigns score P(S) to candidate J takes on value 1. Otherwise 0. ; EQUATIONS OBJ function to be optimized L1(I,J) each member can assign at most one score to each candidate L2(I,S) each member I can assign score S to at most one candidate TOTALSCORE(J) totalscore given;

OBJ(J)$DIN(J). z =e= sum(I,sum(S,x(I,J,S))) ; L1(I,J) OBJ(J)$DIN(J)..z =e= sum(I,sum(S,x(I,J,S))) ; L1(I,J)..sum(S,x(I,J,S))=l=1; L2(I,S)..sum(J,x(I,J,S))=l=1; TOTALSCORE(J)..sum(I,sum(S,P(S)*x(I,J,S)))=e=C(J); ** The model includes all the constraints. MODEL academy /ALL/; ** The output file is open. file aux /academy.out/; put aux; ** First of all, the empty set is assigned to the dynamic set. DIN(J)=NO; loop(J1, DIN(J1)=YES;

Solve academy using mip Minimizing z; zmin=z Solve academy using mip Minimizing z; zmin=z.l; Solve academy using mip Maximizing z; zmax=z.l; put "J=",J1.tl:3, " zmin= ",zmin:3:0," zmax= ", zmax:3:0/; DIN(J1)=NO; );

Sonuç: J=1 Z min=8 Z max =20 J=2 Z min=3 Z max =14 J=3 Z min=15 Z max =20 J=4 Z min=2 Z max =13 J=5 Z min=15 Z max =20 J=6 Z min=2 Z max =18 J=7 Z min=3 Z max =20 J=8 Z min=1 Z max =8

Sonuç: 8 aday için minimum ve maksimum destek sayıları aşağıdaki tabloda verilmiştir: