BookmarkSubscribeRSS Feed

[ SAS 활용 노하우 ] Optimization part4

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

 

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

 

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

hackathon24-white-horiz.png

The 2025 SAS Hackathon Kicks Off on June 11!

Watch the live Hackathon Kickoff to get all the essential information about the SAS Hackathon—including how to join, how to participate, and expert tips for success.

YouTube LinkedIn

Article Labels
Article Tags