Studies 10

[경영과학] 심플렉스 방법 2

심플렉스 방법의 대수학적 접근이전 포스팅에 이어서 심플렉스 방법의 개념의 요점을 정리하도록 하겠다. 전에 다뤘던 예제를 다시 가져와 보자.$$\begin{aligned} \text{Maximize} \quad & z \\ \text{Subject to} \quad & z - 3x_1 - 5x_2 = 0 \\                         & x_1 + x_3 = 4 \\                         & 2x_2 + x_4 = 12 \\                         & 3x_1 + 2x_2 + x_5 = 18 \\                         & x_j \geq 0, \quad j = 1, 2, 3, 4, 5 \end{aligned} $$ 참고로, 이..

[경영과학] 심플렉스 방법 1

심플렉스 방법의 핵심심플렉스 방법은 대수적 절차 중 하나이다. 그러나 내재된 개념은 기하학적이다. 이러한 기하학적 방법을 이해하면 심플렉스 방법이 어떻게 운영되는지와 왜 그렇게 효율적인지에 대해 강한 통찰력을 갖게 된다. 다음과 같은 예제를 살펴보자심플렉스 방법의 핵심심플렉스 방법은 대수적 절차 중 하나이다. 그러나 내재된 개념은 기하학적이다. 이러한 기하학적 방법을 이해하면 심플렉스 방법이 어떻게 운영되는지와 왜 그렇게 효율적인지에 대해 강한 통찰력을 갖게 된다. 다음과 같은 예제를 살펴보자$$\begin{align*} \text{Maximize} \quad & z = 3x_1 + 5x_2 \\ \text{Subject to} \quad & x_1 \leq 4 \\                     ..

[자료구조] 스택 (Stack)

스택이란?스택 (Stack)이란 마지막에 들어간 자료가 가장 먼저 나오는 자료구조인데, 이를 LIFO (Last In First Out) 구조라고 말한다. 스택은 쌓는다는 의미를 갖기도 하는데, 순서대로 쌓은 것을 꺼낼 때는 역순으로 꺼낸다고 생각하면 된다. 예를 들어, 스택에 요소들을 A, B, C 순으로 저장했을 때, 꺼낼 때는 C, B, A 순으로 꺼내야 한다.  실생활에서 워드나 한글 같은 편집기에서 처리한 작업을 되돌리기 하는 경우, 가장 나중에 한 작업부터 순서대로 되돌리기 되는데, 이도 스택의 원리를 이용한 것이라고 볼 수 있다.  스택의 연산스택이라는 자료형에서의 연산은 어떻게 이루어질까? 앞서 말했듯이 스택에서는 새로운 자료를 스택에 넣는 기능과, 스택 상단에 있는 자료를 꺼내는 기능이 ..

[ADA] 데이터 기반 의사결정

의사결정 3요소의사결정이란 여러 대안이 존재할 때, 그 대안 중 하나를 선택하는 지각 활동을 의미한다. 모든 의사결정 과정은 하나의 최종 선택을 갖게 되며, 이 선택으로 인해 모든 사항에 대한 행동과 선택이 정해지므로 적절한 의사결정은 매우 중요하다고 할 수 있다. 데이터 분석에서도 분석 결과를 통해 적절한 의사결정을 하는 것이 매우 중요한데, 오늘은 이 의사결정의 기반이 되는 3가지 요소인 문제정의, 분석기획, 성능검증에 대해 알아보고, 이 요소들이 어떻게 쓰이는 지 알아보도록 하겠다.  1) 문제 정의 : 현실에서 어떤 문제를 풀지 정하는 것우리는 일상 상황 매 순간마다 의사결정이 필요한 문제들을 해결하고 있고, 마찬가지로 비즈니스 연구 등에서도 모든 순간들에는 해결해야 할 문제 존재 2) 분석 기획..

[ADA] 1. Data Preparation

1. Various Data Preparation Steps 데이터 수집 → 데이터 탐색 → 데이터 정제 → 데이터 구조화 → 데이터 변환 → 데이터 검증 2. EDA (Exploratory Data Analysis) 데이터의 주요 특성을 요약하는 것을 목표로 하는 데이터 분석, 접근 방식 2.1. Comprehensive Exploration - Domain Knowledge가 매우 중요함 - Domain Knowledge를 기반으로 Data Size (크기) Data Attribution (속성) Data Statistics (통계) : Pandas의 Describe method 사용 #df.info() 혹은 df.describe() 사용 import pandas as pd df = pd.DataFr..

[경영과학] 선형계획법 (Linear Programming)

선형계획법이란? 선형계획법이란 경영과학 문제를 수학적으로 표현한 모형 중 목적함수와 제약조건식이 모두 선형식으로 정의되는 문제를 뜻한다. 여기서 관계식이 모두 선형적이라는 것은 변수 관계가 비례 혹은 반비례 관계가 있음을 나타낸다. 수학적 모형 선형계획법 모형 변수(결정할 내용) 변수(결정할 내용) 상수(주어진 값) 상수(주어진 값) 수학적 관계식 목적함수: 선형식으로 표현된 이익최대화 및 최소화 제약조건식: 선형식으로 표현된 수요만족, 자원의 한계 비음조건: 변수가 0 이상이다 Notations 자원 활동 $Z$ : 활동 수준에 따라 목적 함수가 갖는 값 $x_j$ : $j$번째 활동의 수준 $c_j$ : $j$번째 활동의 수준이 1 증가할 때 $Z$가 증가하는 정도, 즉 $x_j$의 계수 $b_i$ ..

[경영과학] OR 모형 접근 방법의 개관

경영과학이란? 산업공학을 전공하다 보면 경영과학이라는 과목을 반드시 배운다. 이 경영과학이라는 과목은 산업공학과 내의 과목 중에서도 꽃이라고 불릴 정도로 중요한 과목이라고 볼 수 있다. 경영과학은 경영 문제를 과학적으로 풀어내는 학문으로, 수리적 모델을 기반으로 어떤 상황에서의 최적해를 도출해내는 기법이다. 이러한 기법은 자원 배분 문제, 금융 투자 문제, 공급망 관리 문제 등 여러 사회적인 문제들에 적용시킬 수 있다. 경영과학에서는 이러한 상황적 문제에 대한 답을 찾기 위해 최적화(Optimization)이라는 수학적 기법을 사용한다. 최적화라는 방식이 낯설게 느껴질 수도 있지만 사실 우리는 이미 대학을 오기 전에 최적화의 쉬운 형태를 이미 학습해본 경험이 있다. 예를 들어, 다음과 같은 식이 있다고 ..

[자료구조 in C++] 동적 배열(Vector)

자료구조에서 Vector 란? 자료구조에서 "벡터"(Vector)는 동적 배열을 의미하는데, 이는 고정된 크기를 가진 일반적인 배열과 달리 크기가 동적으로 변할 수 있는 배열이다. 이전 글에서 언급했던 array와 비슷한 개념이지만, 크기가 고정되어 있고, 메모리 할당 방법을 변경할 수 없는 array의 문제를 해결할 수 있다. 즉, vector의 경우, 원소가 추가되고 제거됨에 따라 동적으로 크기가 조정되고, 연속적으로 메모리를 할당할 수 있다. Vector 선언 방법 #include #include int main() { std::vector vec; //크기 0인 벡터 선언 std::vector vec = {1,2,3,4,5}; //지정한 초기값으로 이루어진 크기가 5인 벡터 선언 std::vect..

[자료구조 in C++] 정적 배열(Array)

배열$($Array$)$란? 배열(Array)은 자료구조의 한 형태로, 동일한 자료형의 데이터를 연속적인 메모리 공간에 순차적으로 저장하는 구조이다. 배열은 다음과 같은 특징을 가지고 있다. 고정 크기: 배열을 생성할 때, 그 크기가 정해지며, 대부분의 프로그래밍 언어에서는 배열의 크기를 변경할 수 없다 인덱스 접근: 배열의 각 요소는 인덱스(또는 위치)를 통해 접근할 수 있다. 이 인덱스는 0부터 시작하여 $($배열의 크기$)$ - 1 까지의 값을 가진다 동일한 자료형: 배열에 저장되는 모든 요소는 동일한 자료형이어야 한다. 예를 들어, 정수형 배열에는 정수만 저장할 수 있다. 자료구조에서의 Array std::array는 메모리를 자동으로 할당하고 해제한다. std::array는 원소의 타입과 배열 ..

[자료구조 in C++] 연속된 자료구조와 연결된 자료구조

자료구조의 중요성 응용 프로그램을 설계할 때 데이터 관리는 필수적 요소이다. 특히, 요즘 빅데이터 시대라고 불리는 만큼 데이터 관리는 더욱더 중요하게 고려되어야 할 항목이다. 프로그래머는 데이터를 메모리에 저장하기 위해 여러 자료 구조를 활용할 수 있다. 프로그램에서 필요한 기능을 구현하고, 동작 성능과 안정성을 확보하려면 적절한 자료구조$($Data Structure$)$ 를 선택하여야 한다. 자료구조는 크게 연속된 자료구조와 연결된 자료구조로 분류할 수 있다. 시간 복잡성$($Time Complexity$)$ 데이터를 처리하기에 앞서 데이터를 어떠한 형태로 저장할 것인가가 결정되어야 한다. 이를 결정하기 위한 적합한 지표들이 몇 가지 있는데, 대표적으로 알고리즘 복잡도 혹은 시간복잡도$($Time C..