صفحه 2 از 3 نخستنخست 123 آخرینآخرین
نمایش نتایج: از شماره 11 تا 20 , از مجموع 23

موضوع: مسئله فروشنده دوره‌گرد (به انگلیسی: Travelling salesman problem ، به‌اختصار: TSP )

  1. #11
    عضو سایت
    گاه برای ساختن باید ویران کرد، گاه برای داشتن باید گذشت ، و گاه در اوج تمنا باید نخواست!
    تاریخ عضویت
    Jun 2011
    محل سکونت
    یک خانه
    نوشته ها
    25,040
    تشکر تشکر کرده 
    3,527
    تشکر تشکر شده 
    5,275
    تشکر شده در
    3,184 پست
    حالت من : Akhmoo
    قدرت امتیاز دهی
    4451
    Array

    پیش فرض

    حل مساله فروشنده دوره‌گرد احتمالي توسط اتوماتاي يادگير توزيع شده


    [DOWN]http://dl.azardl.com/sh/124.pdf[/DOWN]
    [دل خوش از آنیم که حج میرویم؟ ..]
    غافل از آنیم که کج میرویم



    [SIGPIC][/SIGPIC]


  2. #12
    عضو سایت
    گاه برای ساختن باید ویران کرد، گاه برای داشتن باید گذشت ، و گاه در اوج تمنا باید نخواست!
    تاریخ عضویت
    Jun 2011
    محل سکونت
    یک خانه
    نوشته ها
    25,040
    تشکر تشکر کرده 
    3,527
    تشکر تشکر شده 
    5,275
    تشکر شده در
    3,184 پست
    حالت من : Akhmoo
    قدرت امتیاز دهی
    4451
    Array

    پیش فرض

    حل مساله فروشنده دوره گرد پويا توسط اتوماتاهاي يادگير واكنشي توزيع شده

    [DOWN]http://dl.azardl.com/sh/ICIKT02_122_236168.pdf[/DOWN]
    [دل خوش از آنیم که حج میرویم؟ ..]
    غافل از آنیم که کج میرویم



    [SIGPIC][/SIGPIC]


  3. #13
    عضو سایت
    گاه برای ساختن باید ویران کرد، گاه برای داشتن باید گذشت ، و گاه در اوج تمنا باید نخواست!
    تاریخ عضویت
    Jun 2011
    محل سکونت
    یک خانه
    نوشته ها
    25,040
    تشکر تشکر کرده 
    3,527
    تشکر تشکر شده 
    5,275
    تشکر شده در
    3,184 پست
    حالت من : Akhmoo
    قدرت امتیاز دهی
    4451
    Array

    پیش فرض

    مساله فروشنده دوره گرد تعميم‌يافته



    [DOWN]http://dl.azardl.com/sh/ICIORS02_349_236580.pdf[/DOWN]
    [دل خوش از آنیم که حج میرویم؟ ..]
    غافل از آنیم که کج میرویم



    [SIGPIC][/SIGPIC]


  4. #14
    عضو سایت
    گاه برای ساختن باید ویران کرد، گاه برای داشتن باید گذشت ، و گاه در اوج تمنا باید نخواست!
    تاریخ عضویت
    Jun 2011
    محل سکونت
    یک خانه
    نوشته ها
    25,040
    تشکر تشکر کرده 
    3,527
    تشکر تشکر شده 
    5,275
    تشکر شده در
    3,184 پست
    حالت من : Akhmoo
    قدرت امتیاز دهی
    4451
    Array

    پیش فرض

    مقاله اي در زمينه حل tsp به روش الگوریتم ژنتیک

    [DOWN]http://dl.azardl.com/sh/7236.pdf[/DOWN]

    [دل خوش از آنیم که حج میرویم؟ ..]
    غافل از آنیم که کج میرویم



    [SIGPIC][/SIGPIC]


  5. #15
    عضو سایت
    گاه برای ساختن باید ویران کرد، گاه برای داشتن باید گذشت ، و گاه در اوج تمنا باید نخواست!
    تاریخ عضویت
    Jun 2011
    محل سکونت
    یک خانه
    نوشته ها
    25,040
    تشکر تشکر کرده 
    3,527
    تشکر تشکر شده 
    5,275
    تشکر شده در
    3,184 پست
    حالت من : Akhmoo
    قدرت امتیاز دهی
    4451
    Array

    پیش فرض

    يك روش تركيبي مبتني بر خوشه بندي براي حل مساله فروشنده دوره گرد با مقياس بزرگ



    خلاصه مقاله:

    يكي از مسائل بسيار مهم در تئوري گراف ها، مساله فروشنده دوره گرد مي باشد كه يك مساله NP-Complete است. اكثر مسائلي كه مي توان انها را با مساله فروشنده دوره گرد مدل كرد، داراي مقياس خيلي بزرگ هستند كه الگوريتم هاي موجود قادر به حل انها در يك زمان قابل قبول نيستند. آتوماتاهاي يادگير و الگوريتم هاي ژنتيكي هر دو از ابزارهاي جستجو مي باشند كه براي حل بسياري از مسائل NP-Complete بكار برده ميشوند. در اين مقاله يك الگوريتم تركيبي (الگوريتم ژنتيك + آتوماتاي يادگير) مبتني بر خوشه چيني براي حل مساله فروشنده دوره گرد با مقياس بزرگ پيشنهاد شده است. اين الگوريتم ابتدا با استفاده از تكنيك خوشه بندي، مساله اصلي را به چند زير مساله با مقياس كوچك افراز كرده و سپس از دو روش الگوريتم هاي ژنتيكي و اتوماتاي يادگيري بطور همزمان براي جستجو در فضاي حالت و حل هر زير مساله استفاده مي نمايد، نشان داده شده است كه با استفاده همزمان از آتوماتاي يادگير و الگوريتم ژنتيك در فرايند جستجو، سرعت رسيدن به جواب افزايش چشمگيري پيدا ميكند و همچنين از بدام افتادن الگوريتم در حداقل هاي محلي جلوگيري مي نمايد. نتايج آزمايش ها، برتري الگوريتم تركيبي را نسبت به الگوريتم ژنتيكي و آتوماتاهاي يادگير نشان ميدهد و همچنين با استفاده از تكنيك خوشه بندي و اجراي الگوريتم تركيبي بطور همزمان بر روي هر خوشه – با يك سيستم چند پردازنده اي – مي توان زمان لازم براي حل مساله را به حداقل مقدار ممكن كاهش داد.

    كلمات كليدي:

    مساله فروشنده دوره گرد ، آتوماتاي يادگير ، الگوريتم ژنتيك ، خوشه بندي


    [DOWN]http://dl.azardl.com/sh/461.pdf[/DOWN]
    [دل خوش از آنیم که حج میرویم؟ ..]
    غافل از آنیم که کج میرویم



    [SIGPIC][/SIGPIC]


  6. #16
    عضو سایت
    گاه برای ساختن باید ویران کرد، گاه برای داشتن باید گذشت ، و گاه در اوج تمنا باید نخواست!
    تاریخ عضویت
    Jun 2011
    محل سکونت
    یک خانه
    نوشته ها
    25,040
    تشکر تشکر کرده 
    3,527
    تشکر تشکر شده 
    5,275
    تشکر شده در
    3,184 پست
    حالت من : Akhmoo
    قدرت امتیاز دهی
    4451
    Array

    پیش فرض

    بکارگيري الگوريتم رقابت استعماري در حل مسئله فروشنده دوره گرد



    [DOWN]http://dl.azardl.com/sh/IIEC06_182_236659.pdf[/DOWN]
    [دل خوش از آنیم که حج میرویم؟ ..]
    غافل از آنیم که کج میرویم



    [SIGPIC][/SIGPIC]


  7. #17
    عضو سایت
    گاه برای ساختن باید ویران کرد، گاه برای داشتن باید گذشت ، و گاه در اوج تمنا باید نخواست!
    تاریخ عضویت
    Jun 2011
    محل سکونت
    یک خانه
    نوشته ها
    25,040
    تشکر تشکر کرده 
    3,527
    تشکر تشکر شده 
    5,275
    تشکر شده در
    3,184 پست
    حالت من : Akhmoo
    قدرت امتیاز دهی
    4451
    Array

    پیش فرض

    الگوریتم بهینه سازی کلونی مورچه ها، و یا به اختصار الگوریتم مورچه ها، از رفتار مورچه های طبیعی که در مجموعه ها بزرگ در کنار هم زندگی می کنند الهام گرفته شده است و یکی از الگوریتم های بسیار کارآمد در حل مسائل بهینه سازی ترکیبی است. الگوریتم های دیگری نیز بر اساس الگوریتم مورچه ها ساخته شده اند که همگی سیستم های چند عاملی هستند و عامل ها مورچه های مصنوعی یا به اختصار مورچه هایی هستند که مشابه با مورچه های واقعی رفتار می کنند. الگوریتم مورچه ها، یک مثال بارز از هوش جمعی هستند که در آن عامل هایی که قابلیت چندان بالایی ندارند، در کنار هم و با همکاری یکدیگر می توانند نتایج بسیار خوبی به دست بیاورند. این الگوریتم برای حل و بررسی محدوده وسیعی از مسائل بهینه سازی به کار برده شده است. از این میان می توان به حل مسأله کلاسیک فروشنده دوره گرد و همچنین مسأله راهیابی در شبکه های مخابرات راه دور اشاره نمود.

    مساله فروشنده دوره گرد (Traveling Salesman Problem) و یا به اختصار TSP، يكي از مسائل مشهور بهينه سازي تركيبي است. در این مسأله، يك فروشنده دوره گرد مي خواهد به چند شهر سفر کند و كالاي خود را به فروش برساند. اما می بایست از تمام شهرها عبور کند، از هر شهر فقط يك بار عبور كند و با طی کوتاه ترین مسير، سفر خود را به پایان برساند. حل این مساله کاربردهای وسیعی در حوزه های مختلف مهندسی دارد. از جمله مسائلی که از نظر ریاضی با مسأله TSP معادل هستند، می توان به حل انواع مسایل زمانبندی، مسیریابی، جایابی کالا در انبار، جایابی ماشینها در کارگاه ها، و طراحی مدارات چاپی اشاره نمود.

    دانلود رایگان کد الگوریتم بهینه سازی کلونی مورچه ها برای حل مسأله فروشنده دوره گرد
    [دل خوش از آنیم که حج میرویم؟ ..]
    غافل از آنیم که کج میرویم



    [SIGPIC][/SIGPIC]


  8. #18
    عضو سایت
    گاه برای ساختن باید ویران کرد، گاه برای داشتن باید گذشت ، و گاه در اوج تمنا باید نخواست!
    تاریخ عضویت
    Jun 2011
    محل سکونت
    یک خانه
    نوشته ها
    25,040
    تشکر تشکر کرده 
    3,527
    تشکر تشکر شده 
    5,275
    تشکر شده در
    3,184 پست
    حالت من : Akhmoo
    قدرت امتیاز دهی
    4451
    Array

    پیش فرض

    کد جاوای الگوریتم فروشنده ی دوره گرد


    کد:
    import java.applet.*;
    import java.util.*;
    import java.awt.*;
    import java.net.*;
    import java.io.*;
    
    public class TSP extends Applet implements Runnable {
    
        public int    NCITY = 5;
        public int    NGEONEURON;
        public static final double    COUNTRY = 1.00;
        public static final double    NEAR = 0.05;
        
      public static final Color bkC = new Color(0x000090);     
      public static final Color bk2C = new Color(0x000050);     
      public static final Color lnC = new Color(0xff0000);     
      public static final Color ln2C = new Color(0xcccc00);     
      public static final Color fgC = new Color(0xffffff);     
    
        public Image   homeI,offscreen;
      public int imagewidth ,imageheight;
        public Thread  animator    = null;
        public boolean please_stop = false;
        Font mF = new Font("Courier", Font.BOLD, 12);
        Font sF = new Font("Courier", Font.BOLD, 8);
      public int counter;
        
        public City city[];
        public geoNeuron gn[];
        
        public double r[][];
        
        public double theta, phi, momentum;
        
        public Scrollbar cscroll;
    
        ///////////////////////////////////////////////////////////////////
        //
        //  Init section
        //
        ///////////////////////////////////////////////////////////////////
    
            public void kohonenInit(){
                theta = 0.5;
            phi   = 0.5;
            momentum = 0.995;
    
                NCITY = cscroll.getValue()/10;
                NGEONEURON = NCITY*2;
                
               //URL url;        
          //homeI = this.getImage(this.getDocumentBase(), "home.gif");
            
          city = new City[NCITY];
          for(int i = 0; i<NCITY; i++) city[i] = new City(Math.random()*COUNTRY, Math.random()*COUNTRY);
          
          double alpha = 0.0;      
          gn = new geoNeuron[NGEONEURON];
          for(int i = 0; i<NGEONEURON; i++){
            gn[i] = new geoNeuron(0.5+0.5*Math.cos(alpha),0.5+0.5*Math.sin(alpha));
            alpha += Math.PI *2.0 / (double)(NGEONEURON);
          }
          
          r = new double[NGEONEURON][NGEONEURON];
          
          makeR(theta);        
    
                counter = 0;
            
            }
    
        ///////////////////////////////////////////////////////////////////
        //
        //  Problem section
        //
        ///////////////////////////////////////////////////////////////////
    
            public void makeR(double th){
            //System.out.println("");
          for(int i=0; i<NGEONEURON; i++){
              r[i][i]= 1.0;
              for(int j=i+1; j<NGEONEURON; j++){
                  r[i][j] = Math.exp( -1.0 * ( gn[i].dist(gn[j])*gn[i].dist(gn[j]) )/(2.0*th*th));
                  r[j][i] = r[i][j];
                     //System.out.print(" "+r[i][j]);
              }
              //System.out.println("");
          }
            }
    
        // The body of the animator thread.
        public void run() {
            int idx,j;
            double x1,x2,mindist;
            int count = 0;
            while(!please_stop) {
                
                counter++;
                
                // CHOSE A RANDOM PATTERN
                idx = (int)(Math.random()*NCITY);
                x1 = city[idx].x+(Math.random()*NEAR)-NEAR/2;
                x2 = city[idx].y+(Math.random()*NEAR)-NEAR/2;
                city[idx].choose++;
               
                // SEARCH FOR MINIMAL
                mindist = 100000.0;
                j = -1;
                for(int i=0; i<NGEONEURON;i++){
                    double d = (x1 - gn[i].wx)*(x1 - gn[i].wx) + (x2 - gn[i].wy)*(x2 - gn[i].wy);
                    //double d = x1*gn[i].wx + x2*gn[i].wy;
                    //System.out.println("d="+d);
                    if(d < mindist){
                        mindist = d;
                        j = i;
                    }
                }
                            
                gn[j].update++;
                         
                // UPDATE WEIGHTS
                for(int i=0; i<NGEONEURON;i++){
                    gn[i].wx += (phi * r[i][j] * (x1 - gn[i].wx));
                    gn[i].wy += (phi * r[i][j] * (x2 - gn[i].wy));
                }
                                              
                // DECREASE LEARNING PARAMETERS
                phi *= momentum;
                theta *= momentum;
                
                // RE-COMPUTE r MATRIX
                    makeR(theta);
                     
                     
                     // PLOT RESULT EVERY 10 SESSIONS
                     count = (count++)%10;
                     
                      if(count==0){
                          //System.out.println("theta = "+theta+"  phi = "+phi);
    
                                paint(this.getGraphics());
                
                                // Call Garbage Collect
                                //System.gc();
                
                    try {Thread.sleep(10);} catch (InterruptedException e){};
                }
            }
            animator = null;
        }
        
        ///////////////////////////////////////////////////////////////////
        //
        //  Functional section
        //
        ///////////////////////////////////////////////////////////////////
        
        public void init() {
        
            cscroll = new Scrollbar(Scrollbar.HORIZONTAL,NCITY*10, 10, 30, 200);
            cscroll.setLineIncrement(10);
            cscroll.setPageIncrement(10);
            add(cscroll);
            
            kohonenInit();    
        }
    
        private int toXReal(double val){int w = this.size().width;return (int)(val *((double)w/2.0-50.0) / COUNTRY +25.0);}
        private int toYReal(double val){int h = this.size().height;return (int)(val *((double)h-50.0) / COUNTRY +25.0);}
       
        private int to2XReal(double val){int w = this.size().width;return (int)((double)w/2.0 + val *((double)w/2.0-50.0) / COUNTRY +25.0);}
        private int to2YReal(double val){int h = this.size().height;return (int)(val *((double)h-50.0) / COUNTRY +25.0);}
        
        public void paintLeft(Graphics g) {
                    Dimension size = this.size();
                            int w = size.width, h = size.height;
                            
                            g.setFont(mF);
                            
                            // CLEAR ALL
                g.setColor(bkC);
                g.fillRect(0, 0, w, h);
                // DRAW GRID
                g.setColor(bk2C);
                for(double i=0; i<=COUNTRY; i+=(COUNTRY/20.0)){
                    g.drawLine(toXReal(0.0),toYReal(i),toXReal(COUNTRY),toYReal(i));
                    g.drawLine(toXReal(i),toYReal(0.0),toXReal(i),toYReal(COUNTRY));
                }
                
                 //DRAW PATH
                g.setColor(lnC);
                for(int i=0; i<NGEONEURON; i++){
                    g.drawLine( toXReal(gn[i].wx),toYReal(gn[i].wy),
                      toXReal(gn[(i+1)%NGEONEURON].wx),toYReal(gn[(i+1)%NGEONEURON].wy) );
                    g.drawString(""+i+"-"+(gn[i].update*100/counter)+"%",toXReal(gn[i].wx),toYReal(gn[i].wy));
                }
    
                g.setColor(fgC);
                
                // DRAW CITYS
                for(int i=0; i<NCITY; i++){
                    g.drawOval( toXReal(city[i].x)-4, toYReal(city[i].y)-4,8,8);
                    g.drawString(""+i+"-"+(city[i].choose*100/counter)+"%",toXReal(city[i].x),toYReal(city[i].y)+8);
                }
          }    
            public void paintRight(Graphics g) {
                    Dimension size = this.size();
                            int w = size.width, h = size.height;
        
                            // CLEAR ALL
                g.setColor(bkC);
                g.fillRect(0, 0, w, h);
    
                            g.setFont(sF);
    
                // DRAW CITYS
                g.setColor(fgC);
                for(int i=0; i<NCITY; i++){
                    g.drawOval( to2XReal(city[i].x)-4, to2YReal(city[i].y)-4,8,8);
                     //g.drawString("["+city[i].wx+";"+gn[i].wy+"]",to2XReal(gn[i].x),to2YReal(gn[i].y));
                }
               
                g.setColor(ln2C);
                for(int i=0; i<NGEONEURON; i++)
                          for(int j=i+1; j<NGEONEURON; j++){
                              g.drawLine( to2XReal(gn[i].x),to2YReal(gn[i].y),
                                  to2XReal(gn[j].x),to2YReal(gn[j].y));
                            g.drawString(""+r[i][j],to2XReal((gn[i].x+gn[j].x)/2),to2YReal((gn[i].y+gn[j].y)/2));
                              //r[i][j] = Math.exp( -1.0 * (double)( gn[i].dist(gn[j])*gn[i].dist(gn[j]) )/(2.0*th));
                              
                          }
                            g.setFont(mF);
                g.setColor(fgC);
                       g.drawString("phi="+phi+" theta="+theta,to2XReal(0.0),to2YReal(0.0)+20);
        }    
    
        public void paint(Graphics g) {
                    Dimension size = this.size();
                            int w = size.width, h = size.height;
                            
                            this.setBackground(bkC);
    
                            
                            if ((offscreen == null) || ((imagewidth != w) || (imageheight != h))) {
                    offscreen = this.createImage(w, h);
                    imagewidth = w;
                    imageheight = h;
                }
                            
                            Rectangle clip = new Rectangle(toXReal(0),toYReal(0),toXReal(COUNTRY),toYReal(COUNTRY));
                                                    
                            Graphics goff = offscreen.getGraphics();
                            goff.clipRect(clip.x, clip.y, clip.width, clip.height);
                Graphics g1 = this.getGraphics();
                            g1.clipRect(clip.x, clip.y, clip.width, clip.height);
                            
                paintLeft(goff);
                g1.drawImage(offscreen, 0, 0, this);
                
                            //clip = new Rectangle(to2XReal(0),to2YReal(0),to2XReal(COUNTRY),to2YReal(COUNTRY));
                                        
                          //goff = offscreen.getGraphics();
                            //goff.clipRect(clip.x, clip.y, clip.width, clip.height);
                //g1 = this.getGraphics();
                            //g1.clipRect(clip.x, clip.y, clip.width, clip.height);
                            
                //paintRight(goff);
                //g1.drawImage(offscreen, 0, 0, this);
                
                clip = null;
                goff = null;
                g1 = null;
                System.gc();
                
                // CLEAR ALL
                g.setColor(bkC);
                g.fillRect(w/2+30,0,w/2+130, 20);
                g.setColor(fgC);
    
                g.drawString("# of city:"+cscroll.getValue()/10,w/2+30,20);
    
        }
     
        // Start the animation
        public void start() { 
            animator = new Thread(this);
            
            animator.start();
            
        }
        // Stop it.
        public void stop() { 
            if (animator != null) animator.stop();
            animator = null;
        }
        
        // Stop and start animating on mouse clicks.
        public boolean mouseDown(Event e, int x, int y) {
        // if running, stop it.  Otherwise, start it.
          if (animator != null){
              please_stop = true;
          }else{ 
              please_stop = false; 
                    animator = new Thread(this);
                    
                    kohonenInit();
            animator.start();
          } 
          return true;
        }
    
    }
    [دل خوش از آنیم که حج میرویم؟ ..]
    غافل از آنیم که کج میرویم



    [SIGPIC][/SIGPIC]


  9. #19
    عضو سایت
    گاه برای ساختن باید ویران کرد، گاه برای داشتن باید گذشت ، و گاه در اوج تمنا باید نخواست!
    تاریخ عضویت
    Jun 2011
    محل سکونت
    یک خانه
    نوشته ها
    25,040
    تشکر تشکر کرده 
    3,527
    تشکر تشکر شده 
    5,275
    تشکر شده در
    3,184 پست
    حالت من : Akhmoo
    قدرت امتیاز دهی
    4451
    Array
    [دل خوش از آنیم که حج میرویم؟ ..]
    غافل از آنیم که کج میرویم



    [SIGPIC][/SIGPIC]


  10. #20
    عضو سایت
    گاه برای ساختن باید ویران کرد، گاه برای داشتن باید گذشت ، و گاه در اوج تمنا باید نخواست!
    تاریخ عضویت
    Jun 2011
    محل سکونت
    یک خانه
    نوشته ها
    25,040
    تشکر تشکر کرده 
    3,527
    تشکر تشکر شده 
    5,275
    تشکر شده در
    3,184 پست
    حالت من : Akhmoo
    قدرت امتیاز دهی
    4451
    Array

    پیش فرض

    حل مسئله فروشنده دوره گرد (TSP) استفاده از شبکه عصبی خود سازمانده (SOM)
    A Novel Approach for Solving STP using SOM


    [DOWN]http://dl.azardl.com/sh/final_paper_1_.pdf[/DOWN]
    [دل خوش از آنیم که حج میرویم؟ ..]
    غافل از آنیم که کج میرویم



    [SIGPIC][/SIGPIC]


صفحه 2 از 3 نخستنخست 123 آخرینآخرین

برچسب ها برای این تاپیک

علاقه مندی ها (بوک مارک ها)

علاقه مندی ها (بوک مارک ها)

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست در پست خود ضمیمه کنید
  • شما نمیتوانید پست های خود را ویرایش کنید
  •  

http://www.worldup.ir/