天气与日历 切换到窄版

 找回密码
 立即注册
中国膜结构网
十大进口膜材评选 十大国产膜材评选 十大膜结构设计评选 十大膜结构公司评选
查看: 67|回复: 0

切割库存问题(优化钢筋或其他材料的切割)遗传算法

[复制链接]

该用户从未签到

主题

0

回帖

2912

积分

管理员

积分
2912
发表于 2024-6-22 09:46:18 | 显示全部楼层 |阅读模式
(GenPat '(4.50 3.60 3.10 1.40 0.75) '(0 2 0 2 0) 12.0 nil)
=> ((0 2 0 2 0) (0 2 0 1 0) (0 2 0 0 0) (0 1 0 2 0) (0 1 0 1 0) (0 1 0 0 0))
(GenPat '(4.50 3.60 3.10 1.40 0.75) '(0 2 0 0 2) 12.0 nil)
=> ((0 2 0 0 2) (0 2 0 0 1) (0 2 0 0 0) (0 1 0 0 2) (0 1 0 0 1) (0 1 0 0 0))
(GenPat '(4.50 3.60 3.10 1.40 0.75) '(0 2 0 2 0) 12.0 T)
=> ((0 2 0 2 0) (0 2 0 1 0) (0 2 0 0 0) (0 1 0 2 0) (0 1 0 1 0) (0 1 0 0 0) (0 0 0 2 0) (0 0 0 1 0))
(GenPat '(4.50 3.60 3.10 1.40 0.75) '(0 2 0 0 2) 12.0 T)
=> ((0 2 0 0 2) (0 2 0 0 1) (0 2 0 0 0) (0 1 0 0 2) (0 1 0 0 1) (0 1 0 0 0) (0 0 0 0 2) (0 0 0 0 1))[code];; 20150929: Fixed by Roy.

‎;;参数:lenLst List,按降序排列的所需长度。;‎
‎;;demLst 列表,相应要求长度的数目。;‎
‎;;股票真实,标准股票的长度。;‎
‎;;allPatP 布尔值,如果为 true,则生成所有可行模式。;‎
‎;;如果为 false,则仅生成模式集 ;‎
‎;;对于第一个需求> 0。 ;‎
;; 20150918: Very minor changes by Roy.
;; GenPat                    (By Ymg)                                         ;
;;                                                                            ;
;; http://www.theswamp.org/index.php?topic=48889.0                            ;
;;                                                                            ;
;; Procedure for Generating the Efficient Feasible Cutting Patterns           ;
;; http://www.cs.bham.ac.uk/~wbl/biblio/gecco2006/docs/p1675.pdf              ;
;; Appendix 1                                                                 ;
;; Part of "Cutting Stock Waste Reduction Using Genetic Algorithms"           ;
;;              by Y. Khalifa, O. Salem and A. Shahin                         ;
;;                                                                            ;
;; Argument: lenLst     List, Demanded Lengths in Descending Order.           ;
;;           demLst     List, Number of Corresponding Demanded Length.        ;
;;           stockLen   Real, Length of Standard Stock.                       ;
;;           allPatP    Boolean, if true,  Generate all Feasible Patterns.    ;
;;                               if false, Generate only the Set of Patterns  ;
;;                                         for the First Demand > 0.          ;
(defun GenPat (lenLst demLst stockLen allPatP / i j cntLst maxIdx patLst usedLen)
  (setq maxIdx (length lenLst))
  (setq i 0)
  (while (zerop (nth i demLst)) (setq i (1+ i)))
  (while
    (or
      (not cntLst)
      (if allPatP
        (> (apply '+ cntLst) 0)
        (> (nth i (reverse cntLst)) 0)
      )
    )
    (cond
      (cntLst
        (while (zerop (car cntLst)) (setq cntLst (cdr cntLst))) ; Last item in cntLst is for the first item (= longest) in lenLst.
        (setq cntLst (cons (1- (car cntLst)) (cdr cntLst)))
        (setq j (length cntLst))
        (setq usedLen
          (apply
            '+
            (mapcar
              '(lambda (cnt len) (* cnt len))
              (reverse cntLst)
              lenLst
            )
          )
        )
      )
      (T
        (setq j 0)
        (setq usedLen 0.0)
      )
    )
    (while (< j maxIdx)
      (setq cntLst
        (cons
          (min
            (fix (/ (- stockLen usedLen) (nth j lenLst)))
            (nth j demLst)
          )
          cntLst
        )
      )
      (setq usedLen (+ usedLen (* (car cntLst) (nth j lenLst))))
      (setq j (1+ j))
    )
    (setq patLst (cons (reverse cntLst) patLst))
  )
  (reverse (cdr patLst)) ; Remove 'zero pattern'.
)[/code]

 

 

 

 

切割库存问题(优化钢筋或其他材料的切割)遗传算法
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|中国膜结构网|中国膜结构协会|进口膜材|国产膜材|ETFE|PVDF|PTFE|设计|施工|安装|车棚|看台|污水池|中国膜结构网_中国空间膜结构协会

GMT+8, 2024-11-1 11:44 , Processed in 0.115383 second(s), 24 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表