Giter VIP home page Giter VIP logo

fjsp's Introduction

分别用改进的粒子群优化算法和改进的差分进化算法求解柔性作业车间调度问题

问题规模以(工件J*工序P*机器M)表示,例如J20P10M10表示共有20个工件,每个工件有10个工序,总共有10个加工机器可供选择。

data文件夹中的文件表示程序所用的数据,其中data_first文件的问题规模是J10P5M6,data_second文件的问题规模是J20P10M10,data_third文件的问题规模是J20P20M15。对于其中数据的解释:横向表示工序,纵向表示机器,每个数值表示机器加工工序的耗时,工序和机器都是按顺序排列的。以data_first.txt文件为例,前五行分别表示第一个工件的5个工序分别在6台机器上加工的时间,第5-10行表示第二个工件的5个工序分别在6台机器上加工的时间,以此类推。

关于编码,本项目采用的是同类问题常用的编码方式,参考论文“基于改进遗传算法的柔性作业车间调度问题研究”,与该论文所述的编码方式不同的是,本项目的编码中第一段为工序编码,第二段为机器编码。

DE文件夹中的三个文件分别采用三种不同的初始化方式,其中DE_first.py采用的是完全随机的初始化方式,DE_second.py采用的是基于轮盘赌策略的初始化方式,DE_third.py采用的是基于极限完工时间最小化的初始化方式。PSO文件夹与DE文件夹类似。

关于极限最大完工时间最小化策略,参考论文“基于极限调度完工时间最小化的机器选择及FJSP求解”。

fjsp's People

Contributors

superhqh avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

fjsp's Issues

ZeroDivisionError

Traceback (most recent call last):
File "/Users/***/Documents/GitHub/FJSP/PSO/PSO_third.py", line 160, in
clean_contents[i][j][0] = (1/clean_contents[i][j][0])/temp_sum
ZeroDivisionError: integer division or modulo by zero

DE随机初始化文件输出标题写成了轮盘赌。

print("按照基于轮盘赌策略初始化的DE算法求得的最好的最大完工时间:",min(DE_base))
print("按照基于轮盘赌策略初始化的DE算法求得的最好的工艺方案:",gbestpop)应该改成随机初始化,不过没啥影响。PSO没这个问题。输出的曲线还是随机初始化的曲线。

关于差分进化代码问题

请问差分进化中在进行交叉时,为什么只对机器部分进行交叉,工件部分顺序不需要改变吗?

Can't understand the instances' formulation

Hello, thanks for your repo!
I am afraid I cannot understand how your problem instances are formulated. What does the numbers and the lines mean in the .txts. Could you please write some explanations about it?
Best wishes

uses

Can I use your code in my paper? Thanks a lot.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.