콘텐츠로 바로가기

now0930 일지

이런저런 생각

  • 홈
  • 비공개
  • 강좌
  • 잔여 작업 조회
  • 위치

스토리지의 모든 경우를 python permutation으로 구현

스토리지의 모든 경우를 python으로 출력하기

스토리지의 모든 경우를 python으로 구현하여, 모든 경우에 대한 행동할 값을 테이블로 작성이 가능하다. 이후 중복된 데이터를 엑셀로 정리가 가능하다. 각 경우에 대한 값을 입력으로 보고, 어떻게 행동할 지를 출력으로 임의로 작성하면 X->Y의 관계를 가르칠 수 있다.

스토리지의 상황

어느셀에서대차를뺄것인가

라인 프로그램을 작성하다 보면, 모든 경우에서 어는 부분을 처리해주는 부분이 없어 중단되는 상황이 있다. 셔틀과 스토리지로 구성된 라인이 있다고 할 때, 마지막 공정이 대차를 아래와 같이 세가지 경우 중 하나로 처리할 수 있다.

  1. 생산 데이터와 마지막 공정 대차가 일치하여 시작 공정으로 다시 돌림
  2. 생산 데이터와 마지막 공정 대차가 같지 않아, 스토리지에서 새로운 대차를 빼고, 마지막 대차는 빈 셀로 넣기
    • 간단하게 만들기 위해서, 스토리지에 생산 데이터의 대차가 있어도 라인에 있는 대차를 먼저 사용

  3. 생산 데이터와 마지막 공정 대차가 같지 않아, 다음 턴에서 맞을 것으로 보고 마지막 대차를 시작 공정으로 다시 돌림

Python Permutation으로 구현하기

모든 경우에 대한 데이터를 파악하고, 사용자가 엑셀에서 함수를 데이터를 입력하다면 쉽게 입력/출력 테이블을 만들 수 있다. 모든 경우를 엑셀로 출력하는 vba가 있으나, 사용하기 복잡해 보인다. stack overflow 인터넷의 누군가 python으로 간단하게 구현할 수 있는 코드를 작성하여 참조할 수 있도록 정리했다. 왜 pyhon을 많은 사람들을 쓰는지 이해가 된다.

import itertools

#all cell are full
mylist8 = ["UM","UM","UM","UM","UM","UM","UM"]
mylist1 = ["QF","UM","UM","UM","UM","UM","UM"]
mylist2 = ["QF","QF","UM","UM","UM","UM","UM"]
mylist3 = ["QF","QF","QF","UM","UM","UM","UM"]
mylist4 = ["QF","QF","QF","QF","UM","UM","UM"]
mylist5 = ["QF","QF","QF","QF","QF","UM","UM"]
mylist6 = ["QF","QF","QF","QF","QF","QF","UM"]
mylist7 = ["QF","QF","QF","QF","QF","QF","QF"]

#1 cell is empty
mylist9 = ["UM","UM","UM","UM","UM","UM","Vacant"]
mylist10 = ["QF","UM","UM","UM","UM","UM","Vacant"]
mylist11 = ["QF","QF","UM","UM","UM","UM","Vacant"]
mylist12 = ["QF","QF","QF","UM","UM","UM","Vacant"]
mylist13 = ["QF","QF","QF","QF","UM","UM","Vacant"]
mylist14 = ["QF","QF","QF","QF","QF","UM","Vacant"]
mylist15 = ["QF","QF","QF","QF","QF","QF","Vacant"]

#2 cell are empty
mylist16 = ["UM","UM","UM","UM","UM","Vacant","Vacant"]
mylist17 = ["QF","UM","UM","UM","UM","Vacant","Vacant"]
mylist18 = ["QF","QF","UM","UM","UM","Vacant","Vacant"]
mylist19 = ["QF","QF","QF","UM","UM","Vacant","Vacant"]
mylist20 = ["QF","QF","QF","QF","UM","Vacant","Vacant"]
mylist21 = ["QF","QF","QF","QF","QF","Vacant","Vacant"]

#3 cell are empty
mylist22 = ["UM","UM","UM","UM","Vacant","Vacant","Vacant"]
mylist23 = ["QF","UM","UM","UM","Vacant","Vacant","Vacant"]
mylist24 = ["QF","QF","UM","UM","Vacant","Vacant","Vacant"]
mylist25 = ["QF","QF","QF","UM","Vacant","Vacant","Vacant"]
mylist26 = ["QF","QF","QF","QF","Vacant","Vacant","Vacant"]

#4 cell are empty
mylist27 = ["UM","UM","UM","Vacant","Vacant","Vacant","Vacant"]
mylist28 = ["QF","UM","UM","Vacant","Vacant","Vacant","Vacant"]
mylist29 = ["QF","QF","UM","Vacant","Vacant","Vacant","Vacant"]
mylist30 = ["QF","QF","QF","Vacant","Vacant","Vacant","Vacant"]

#5 cell are empty
mylist31 = ["UM","UM","Vacant","Vacant","Vacant","Vacant","Vacant"]
mylist32 = ["QF","UM","Vacant","Vacant","Vacant","Vacant","Vacant"]
mylist33 = ["QF","QF","Vacant","Vacant","Vacant","Vacant","Vacant"]

#6 cell are empty
mylist34 = ["UM","Vacant","Vacant","Vacant","Vacant","Vacant","Vacant"]
mylist35 = ["QF","Vacant","Vacant","Vacant","Vacant","Vacant","Vacant"]


myPermutation1 = itertools.permutations(mylist1)
myPermutation2 = itertools.permutations(mylist2)
myPermutation3 = itertools.permutations(mylist3)
myPermutation4 = itertools.permutations(mylist4)
myPermutation5 = itertools.permutations(mylist5)
myPermutation6 = itertools.permutations(mylist6)
myPermutation7 = itertools.permutations(mylist7)
myPermutation8 = itertools.permutations(mylist8)
myPermutation9 = itertools.permutations(mylist9)
myPermutation10 = itertools.permutations(mylist10)
myPermutation11 = itertools.permutations(mylist11)
myPermutation12 = itertools.permutations(mylist12)
myPermutation13 = itertools.permutations(mylist13)
myPermutation14 = itertools.permutations(mylist14)
myPermutation15 = itertools.permutations(mylist15)
myPermutation16 = itertools.permutations(mylist16)
myPermutation17 = itertools.permutations(mylist17)
myPermutation18 = itertools.permutations(mylist18)
myPermutation19 = itertools.permutations(mylist19)
myPermutation20 = itertools.permutations(mylist20)
myPermutation21 = itertools.permutations(mylist21)
myPermutation22 = itertools.permutations(mylist22)
myPermutation23 = itertools.permutations(mylist23)
myPermutation24 = itertools.permutations(mylist24)
myPermutation25 = itertools.permutations(mylist25)
myPermutation26 = itertools.permutations(mylist26)
myPermutation27 = itertools.permutations(mylist27)
myPermutation28 = itertools.permutations(mylist28)
myPermutation29 = itertools.permutations(mylist29)
myPermutation30 = itertools.permutations(mylist30)
myPermutation31 = itertools.permutations(mylist31)
myPermutation32 = itertools.permutations(mylist32)
myPermutation33 = itertools.permutations(mylist33)
myPermutation34 = itertools.permutations(mylist34)
myPermutation35 = itertools.permutations(mylist35)

#myCombination = itertools.combinations(mylist, 2)

for i in myPermutation1:
    print i
for i in myPermutation2:
    print i
for i in myPermutation3:
    print i
for i in myPermutation4:
    print i
for i in myPermutation5:
    print i
for i in myPermutation6:
    print i
for i in myPermutation7:
    print i
for i in myPermutation8:
    print i
for i in myPermutation9:
    print i
for i in myPermutation10:
    print i
for i in myPermutation11:
    print i
for i in myPermutation12:
    print i
for i in myPermutation13:
    print i
for i in myPermutation14:
    print i
for i in myPermutation15:
    print i
for i in myPermutation16:
    print i
for i in myPermutation17:
    print i
for i in myPermutation18:
    print i
for i in myPermutation19:
    print i
for i in myPermutation20:
    print i
for i in myPermutation21:
    print i
for i in myPermutation22:
    print i
for i in myPermutation23:
    print i
for i in myPermutation24:
    print i
for i in myPermutation25:
    print i
for i in myPermutation26:
    print i
for i in myPermutation27:
    print i
for i in myPermutation28:
    print i
for i in myPermutation29:
    print i
for i in myPermutation30:
    print i
for i in myPermutation31:
    print i
for i in myPermutation32:
    print i
for i in myPermutation33:
    print i
for i in myPermutation34:
    print i
for i in myPermutation35:
    print i

python에 익숙하면 더 세련된 형태로 할 수 있겠으나, 일회성으로 하기 때문에 그냥 노가다로 해결했다.

엑셀로 중복 데이터 제거

출력 결과는 중복되는 데이터들이 많은데, 간단한 함수로 중복을 제거할 수 있다. 이를 그냥 입력으로도 사용 가능하나, 중복되는 데이터는 정확도가 떨어지므로, 정리해 주는게 맞아 보인다.
아래는 정리한 테이블의 데이터 셋이다.
170217datasetv4

이 글 공유하기:

  • Tweet
발행일 2017-02-19글쓴이 이대원
카테고리 tensorflow, 생활코딩 태그 permutation, python, 경우의 수, 기계학습

댓글 남기기응답 취소

이 사이트는 Akismet을 사용하여 스팸을 줄입니다. 댓글 데이터가 어떻게 처리되는지 알아보세요.

글 내비게이션

이전 글

아이들 1월 사진

다음 글

안드로이드 앱 개발 일지, 1차

2025 6월
일 월 화 수 목 금 토
1234567
891011121314
15161718192021
22232425262728
2930  
5월    

최신 글

  • common mode, differential mode 2025-05-11
  • signal conditioner, 신호 처리기 2025-05-10
  • strain gage 2025-05-09
  • 칼만 필터 2025-05-01
  • positioner(I/P) 2025-04-26

카테고리

  • 산업계측제어기술사
  • 삶 자국
    • 책과 영화
    • 투자
  • 생활코딩
    • LEGO
    • ROS
    • tensorflow
  • 전기기사
  • 피아노 악보

메타

  • 로그인
  • 엔트리 피드
  • 댓글 피드
  • WordPress.org

페이지

  • 소개
  • 잔여 작업 조회
    • 작업 추가
    • 작업의 사진 조회
    • 작업 수정 페이지
  • 사진
    • GPS 입력된 사진
    • 사진 조회
  • 위치
    • 하기 휴가 방문지
    • 해외 출장

태그

android bash c docker driver FSM gps java kernel LEGO linux mysql network program opcua open62541 plc programmers python raspberry reinforcementLearning ros state space system program tensorflow transfer function 경제 미국 민수 삼국지 세계사 실기 에너지 역사 유전자 일본 임베디드 리눅스 전기기사 조선 중국 채윤 코딩 테스트 통계 한국사 한국어

팔로우하세요

  • Facebook
now0930 일지
WordPress로 제작.
 

댓글 로드중...