BookmarkSubscribeRSS Feed

[ SAS 활용 노하우 ] Optimization part4

Started ‎05-21-2021 by
Modified ‎05-21-2021 by
Views 389

 

시스템 및 관련 계획 문제의 핵심 요소를 포착하기 위해 최적화 모델을 구축할 때는 다른 요소들(정수 또는 이진 변수, 네트워크 구조 등)이 추가 되기 때문에 모델 유형이 변경되는 경우가 많습니다. 최적화 모델은 정의 와 정제를 통해 기능이 향상됩니다.

 

SAS Optimization을 활용하면 모델 이 변경되거나 개선되더라도 투명한 모델링 환경을 그대로 유지할 수 있 으므로 시간을 절약하고 생산성을 향상시킬 수 있습니다.

 

 

9. Branch and Bound ( 분기한정법 )

 

최소(또는 최대)화 문제를 직접 풀기가 곤란한 경우, 그것을 일련의 부분 문제로 분해하여 각 부분 문제를 풀어서 원래의 문제를 푸는 방법

 

분산 분기한정(Branch-and-Bound) 혼합 정수 선형 프로그래밍 솔버는 절단면, 휴리스틱(Heuristics), 충돌 검색(Conflict Search), 옵션 조정을 포 함합니다. 분산 컴퓨팅을 통해 최적의 솔루션을 찾기 위한 시간을 단축할 수 있으며 규모가 큰 문제일수록 그 시간이 단축됩니다. 최신식 솔버는 대규모 최적화 문제를 해결하도록 특별히 개발되었습니다.

 

* Branch and Bound 알고리즘의 특징

 

1) 되추적(backtracking) 기법과 같이 상태 공간 트리를 구창하여 문제를 해결합니다.

2) 최적의해를 구하는 문제에 적용합니다.

3) 최적의 해를 구하기 위해 모든 해를 다 고려해야 하기 때문에 트리의 마디를 순회 (traverse)하는 방법에 구애 받지 않습니다.

 

* Branch and Bound 알고리즘의 원리

 

1) 각 마디를 검색할 때 마다, 그 마디가 유망한지의 여부를 결정하기 위해서 한계치(bound)를 계산합니다.

2) 한계치는 그 마디로부터 가지를 뻗어나가서(branch) 얻을 수 있는 해답치의 한계를 나타냅니다.

3) 만약 그 한계치가 지금까지 찾은 최적의 해답치 보다 좋지 않은 경우는 더 이상 가지를 뻗어서 검색을 계속할 필요가 없으므로, 그 마디는 유망하지 않다고 할 수 있습니다.

 

* SAS Programming

PROC OPTMODEL Solver Options

 

ALGORITHM = option
SOLVER = option
SOL = option

그림1.png

 

 

 

10. Scheduling and Constraint Programming 

 

Scheduling은 프로젝트 및 인력의 일정관리 및 효율화를 위해 개발된 수법이며, Constraint Programming은 문제의 제약을 지정해 줌으로써 해결하는 방법입니다.

 

* Scheduling (PERT/CPM)의 적용 단계

 

1) 프로젝트의 정의 

프로젝트를 단위활동으로 분해하고 각 단위 활동의 예측 소요시간, 단위활동 간의 선후 관계를 결정하여 네트워크로 작성합니다.

2) 일정 계획 

각 단위활동의 시작시간과 완료시간을 결정하고 여유시간을 계산하여 주공정을 파악합니다.

3) 자원 계획

각 단위활동의 수행에 필요한 원자재, 인력, 설비, 자금 등의 배정을 계획합니다.

4) 통제

프로젝트가 일정에 따라 진행되는지를 파악하고 자원 재배정 등을 통해 조정합니다.

 

* 제약 조건 만족 문제

 

유한하고 이산적인 영역들인 D_1, D_2, …, D_n으로부터 값을 취하고 그 값들 간에는 제약조건 p_k (x_k1,x_k2,…,x_kl )이 존재하는 문제

 

* PROC CLP Statement

 

PROC CLP options ;
ACTIVITY activity specifications ;
ALLDIFF alldiff constraints ;
ARRAY array specifications ;
ELEMENT element constraints ;
FOREACH foreach constraints ;
GCC global cardinality constraints ;
LEXICO lexicographic ordering constraints ;
LINCON linear constraints ;
OBJ objective function options ;
PACK bin packing constraints ;
REIFY reify constraints ;
REQUIRES resource requirement constraints ;
RESOURCE resource specifications ;
SCHEDULE schedule options ;
VARIABLE variable specifications ;
RUN;

 

 

 

11. Discrete Event Simulation ( 이산 사건형 시뮬레이션 )

 

시스템의 상태 변화가 이산 사건 발생에 의해 임의의 시점에 순간적으로 일어나는 것을 말함

 

* 시뮬레이션 연구 개요 

①문제를 구성하고 연구계획을 수립

②자료를 수집하고 시뮬레이션 모형을 작성

③시뮬레이션 모형의 정확성 확인

④프로그램 작성

⑤시뮬레이션 모형의 타당성 검증

⑥실행할 시뮬레이션 계획

⑦시뮬레이션을 실행하고 결과분석

⑧보고서작성

 

 

* Discrete Event Simulation 장점

  • 실제 시스템 또는 Physical Model을 만들 필요가 없습니다.
    • 비용 및 리스크 감소
    • 여러 가지 대안을 시뮬레이션 해볼 수 있음
  • 실제 소요되는 시간보다 적은 시간으로 빠르게 많은 양의 데이터를 축정가능합니다.
    • 시뮬레이션 시간 VS 실제 소요 시간

* SAS Simulation Studio

 그림1.png

 

  • 모델링 및 분석을 위한 그래픽 사용자 인터페이스
  • Drag-and-drop 모델링
  • Innovative Resource 모델링 기능
  • SAS의 JMP와 연동 ( 소스데이터, 결과분석, 실험설계 등 )
  • 윈도우 지원, SAS/OR 및 JMP add-on module
Version history
Last update:
‎05-21-2021 07:26 AM
Updated by:
Contributors

SAS Innovate 2025: Register Now

Registration is now open for SAS Innovate 2025 , our biggest and most exciting global event of the year! Join us in Orlando, FL, May 6-9.
Sign up by Dec. 31 to get the 2024 rate of just $495.
Register now!

Article Labels
Article Tags