<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Arman Boyaci</title>
	<atom:link href="http://arman.boyaci.ca/feed/" rel="self" type="application/rss+xml" />
	<link>http://arman.boyaci.ca</link>
	<description>Tips for PhD Students</description>
	<lastBuildDate>Mon, 10 Oct 2011 19:58:16 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Linear indexing and hash tables in MATLAB</title>
		<link>http://arman.boyaci.ca/linear-indexing-and-hash-tables-in-matlab/</link>
		<comments>http://arman.boyaci.ca/linear-indexing-and-hash-tables-in-matlab/#comments</comments>
		<pubDate>Mon, 10 Oct 2011 19:58:16 +0000</pubDate>
		<dc:creator>Arman</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Matlab]]></category>

		<guid isPermaLink="false">http://arman.boyaci.ca/?p=507</guid>
		<description><![CDATA[Let&#8217;s consider the following database table: Date Id Amount 29.10.2011 1001 10.2 30.10.2011 1001 15.6 29.10.2011 1002 17.5 30.10.2011 1002 12.2 31.10.2011 1002 7.9 1.11.2011 1001 19.3 1.11.2011 1002 17.9 Suppose that from this table we want to generate the following MATLAB matrix storing amount information. 10.2 15.6 NaN 19.3 17.5 12.2 7.9 17.9 To [...]]]></description>
			<content:encoded><![CDATA[<p>Let&#8217;s consider the following database table:</p>
<table>
<tr>
<td>Date</td>
<td>Id</td>
<td>Amount</td>
</tr>
<tr>
<td>29.10.2011</td>
<td>1001</td>
<td>10.2</td>
</tr>
<tr>
<td>30.10.2011</td>
<td>1001</td>
<td>15.6</td>
</tr>
<tr>
<td>29.10.2011</td>
<td>1002</td>
<td>17.5</td>
</tr>
<tr>
<td>30.10.2011</td>
<td>1002</td>
<td>12.2</td>
</tr>
<tr>
<td>31.10.2011</td>
<td>1002</td>
<td>7.9</td>
</tr>
<tr>
<td>1.11.2011</td>
<td>1001</td>
<td>19.3</td>
</tr>
<tr>
<td>1.11.2011</td>
<td>1002</td>
<td>17.9</td>
</tr>
</table>
<p>Suppose that from this table we want to generate the following MATLAB matrix storing amount information.</p>
<table>
<tr>
<td>10.2</td>
<td>15.6</td>
<td>NaN</td>
<td>19.3</td>
</tr>
<tr>
<td>17.5</td>
<td>12.2</td>
<td>7.9</td>
<td>17.9</td>
</tr>
</table>
<p>To do that we need to map each date and ID with an index. We use <em>containers.Map</em> objects. See <a href="http://www.mathworks.com/help/techdoc/matlab_prog/brqqo5e-1.html">Matlab Map Containers page</a> to learn more.</p>
<table>
<tr>
<td>1001</td>
<td>1</td>
</tr>
<tr>
<td>1002</td>
<td>2</td>
</tr>
</table>
<table>
<tr>
<td>29.10.2011</td>
<td>1</td>
</tr>
<tr>
<td>30.10.2011</td>
<td>2</td>
</tr>
<tr>
<td>31.10.2011</td>
<td>3</td>
</tr>
<tr>
<td>1.11.2011</td>
<td>4</td>
</tr>
</table>
<p>Next step is to fill matrix Amount. Consider a m x n matrix A. Suppose we want to use matrix B = (1,1;1 2) for selecting elements of A. Unfortunetely A(B(:,1), B(:,2)) will not work. We should use linear indexing. See <a href="http://www.mathworks.com/help/techdoc/math/f1-85462.html#f1-85511">Matrix indexing</a> to learn more.</p>
<h4>MATLAB code:</h4>
<pre>
T1 = ['29.10.2011'; '30.10.2011'; '29.10.2011'; '30.10.2011'; '31.10.2011'; '1.11.2011'; '1.11.2011'];
T2 = [1001; 1001; 1002; 1002; 1002; 1001; 1002];
T3 = [10.2; 15.6; 17.5; 12.2; 7.9; 19.3; 17;9 ];

keySet = {'29.10.2011', '30.10.2011', '31.10.2011', '01.11.2011'};
valueSet = 1:4;

date_index = containers.Map(keySet,valueSet);

keySet = {1001, 1002};
valueSet = 1:2;

id_index = containers.Map(keySet,valueSet);

Amount = ones(2,4)*NaN;

Amount(sub2ind(size(Amount), values(date_index,T1), values(id_index,T2) )  ) = T3
</pre>
<p>You can also index dates by using Matlab&#8217;s <a href="http://www.mathworks.com/help/techdoc/ref/datenum.html">datenum</a> function. This function returns how many days is passed from a reference point (1-Jan-0000). Suppose D matrix contains a list of dates then the following code will also work: </p>
<pre>
D = {'29.10.2011', '30.10.2011', '29.10.2011', '30.10.2011', '31.10.2011', '01.11.2011'}
datenum(D) - min(datenum(D))
</pre>
]]></content:encoded>
			<wfw:commentRss>http://arman.boyaci.ca/linear-indexing-and-hash-tables-in-matlab/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A matlab implementation of greedy DSATUR coloring algorithm</title>
		<link>http://arman.boyaci.ca/a-matlab-implementation-of-greedy-dsatur-coloring-algorithm/</link>
		<comments>http://arman.boyaci.ca/a-matlab-implementation-of-greedy-dsatur-coloring-algorithm/#comments</comments>
		<pubDate>Thu, 11 Aug 2011 15:42:53 +0000</pubDate>
		<dc:creator>Arman</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://arman.boyaci.ca/?p=487</guid>
		<description><![CDATA[Given a graph, vertex coloring is the assignment of colors to the vertices such that no two adjacents vertices share the same color. Vertex coloring problem is NP-hard for general graphs. However for some specific graph classes there are some positif results. For example by definition we can trivially color a bipartite graph using two [...]]]></description>
			<content:encoded><![CDATA[<p>Given a graph, vertex coloring is the assignment of colors to the vertices such that no two adjacents vertices share the same color. Vertex coloring problem is NP-hard for general graphs. However for some specific graph classes there are some positif results. For example by definition we can trivially color a bipartite graph using two colors. </p>
<p><a href="http://arman.boyaci.ca/wp-content/uploads/bipartitecoloring.png"><img src="http://arman.boyaci.ca/wp-content/uploads/bipartitecoloring.png" alt="" title="Bipartite graph two colorability" width="107" height="142" class="alignnone size-full wp-image-496" /></a></p>
<p>There are polynomial time exact coloring algorithms for some subclass of graphs:</p>
<ul>
<li><a href="http://www.graphclasses.org/classes/gc_234.html">Interval graphs</a></li>
<li><a href="http://www.graphclasses.org/classes/gc_32.html">Chordal graphs</a> (triangulated graphs)</li>
<li><a href="http://www.graphclasses.org/classes/gc_23.html">Permutation graphs</a></li>
</ul>
<p>All the graph classes above are part of a general graph class called Perfect Graphs. In all perfect graphs, the graph coloring problem can be solved in polynomial time.</p>
<p>On the other hand, there are various coloring heuristic algorithms in the literature. One of the simplest one is the following:</p>
<ol>
<li>Make a non-increasing order of the vertices according to their degrees</li>
<li>Consider one by one the vertices with this order and color them with the first available color (which does cause an infeasibility, if there no such a color exist create a new color) </li>
</ol>
<p>Another popular coloring algorithm is Brelaz&#8217;s DSATUR algorithm. There are two versions (exact and heuristic) of the algorithm. Here we will consider the heuristic (greedy) version of the algorithm.</p>
<p>Suppose we are given a graph and a partial coloring of this graph (some of the vertices are already colored). We define <img src="http://l.wordpress.com/latex.php?latex=deg_s%28v%29&#038;bg=C9CDB7&#038;fg=222222&#038;s=2" title="deg_s(v)" style="vertical-align:-20%;" class="tex" alt="deg_s(v)" /> saturation degree of a vertex as the number of different colors in the neighborhood of that vertex. In DSATUR algorithm, vertices are selected one by one with the following rule and are given the first available color. </p>
<p>Dynamic Order: Select a vertex v with the highest saturation degree, in case of tie select the one with highest (ordinary) degree. Update saturation degree values of the neighbors of v.</p>
<h4>Matlab Code: DSATUR</h4>
<pre>
function [coloring] = dsatur(V,E)

n = size(V,1);
coloring = zeros(n,1);
available_colors = 1;

% Start with the node that has the maximum degree.
% Color the current node with the lowest available color.
% Select the next node by selecting the node with the maximum degree of saturation.
% This means that you have to select the node that has the most number of unique neighboring colors.
% In case of a tie, use the node with the largest degree.
% Goto step 2. until all nodes are colored.

% Degrees
for i=1:n
    v = i;
    Degrees(i,1) = size([E(find(E(:,1)==v),2); E(find(E(:,2)==v),1)],1);
end

% Degrees of saturation
Degrees_of_saturation = zeros(n,1);

% Coloring
for i=1:n
    if i == 1
        [value index] = max(Degrees);
        v = index(1);
        coloring(v) = 1;
        assigned_color_v = 1;
    else
        Uncolored = find(coloring==0);
        index_temp = find(Degrees_of_saturation(Uncolored)==max(Degrees_of_saturation(Uncolored)));
        index = Uncolored(index_temp);
        if(size(index,1)>1)
            [value1 index1] = max(Degrees(index));
            v = index(index1);
        else
            v = index;
        end

        % Assign first available color to v
        neighbors = [E(find(E(:,1)==v),2); E(find(E(:,2)==v),1)];
        for j=1:available_colors
            if size(find(coloring(neighbors)==j),1)==0
                coloring(v) = j;
                assigned_color_v = j;
                break;
            end
        end
        if coloring(v) == 0
            available_colors = available_colors + 1;
            coloring(v) = available_colors;
            assigned_color_v = available_colors;
        end
    end

    % Update Degrees of saturation
    neighbors_v = [E(find(E(:,1)==v),2); E(find(E(:,2)==v),1)];
    for j=1:size(neighbors_v,1)
       u = neighbors_v(j);
       neighbors_u = [E(find(E(:,1)==u),2); E(find(E(:,2)==u),1)];
       if size(find(coloring(neighbors_u)==assigned_color_v),1) == 1
           Degrees_of_saturation(u,1) = Degrees_of_saturation(u,1) + 1;
       end
    end

end
</pre>
]]></content:encoded>
			<wfw:commentRss>http://arman.boyaci.ca/a-matlab-implementation-of-greedy-dsatur-coloring-algorithm/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A matlab implementation of Havel-Hakimi algorithm</title>
		<link>http://arman.boyaci.ca/a-matlab-implementation-of-havel-hakimi-algorithm/</link>
		<comments>http://arman.boyaci.ca/a-matlab-implementation-of-havel-hakimi-algorithm/#comments</comments>
		<pubDate>Sat, 11 Jun 2011 06:20:28 +0000</pubDate>
		<dc:creator>Arman</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Graph Theory]]></category>
		<category><![CDATA[Matlab]]></category>

		<guid isPermaLink="false">http://arman.boyaci.ca/?p=458</guid>
		<description><![CDATA[In graph theory, degree of a given vertex is the number of vertices which are neighbour to this vertex. Let be a degree sequence then we can check whether it is possible to construct a graph such that the degrees of vertices follows this degree sequence. We call such a degree sequence graphical. The first [...]]]></description>
			<content:encoded><![CDATA[<p>In graph theory, degree of a given vertex is the number of vertices which are neighbour to this vertex. Let <img src="http://l.wordpress.com/latex.php?latex=%28d_0%2C%20d_1%2C%20%5Cldots%20%2C%20d_n%29&#038;bg=C9CDB7&#038;fg=222222&#038;s=2" title="(d_0, d_1, \ldots , d_n)" style="vertical-align:-20%;" class="tex" alt="(d_0, d_1, \ldots , d_n)" /> be a degree sequence then we can check whether it is possible to construct a graph such that the degrees of vertices follows this degree sequence. We call such a degree sequence graphical. The first simple check is to sum all the degree values. This number should even by hand-shakking lemma. This is a necessary condition but not sufficient. For example it is impossible to construct a graph with a degree sequence [3 3 3 1].</p>
<p><a href="http://en.wikipedia.org/wiki/Erd%C5%91s%E2%80%93Gallai_theorem">Erdős–Gallai theorem</a> gives us necessary and sufficient conditions for this problem.</p>
<p>the sum of the sequence is even and<br />
<img src="http://l.wordpress.com/latex.php?latex=%5Csum_%7Bi%3D1%7D%5E%7Bk%7Dd_i%20%5Cleq%20k%28k-1%29%20%2B%20%5Csum_%7Bi%3Dk%2B1%7D%5En%20%20%5Cmin%28d_i%2Ck%29%20%5Cquad%20%5Ctext%7Bfor%20%7D%20k%20%5Cin%20%5C%7B1%2C%5Cdots%2Cn%5C%7D%20&#038;bg=C9CDB7&#038;fg=222222&#038;s=2" title="\sum_{i=1}^{k}d_i \leq k(k-1) + \sum_{i=k+1}^n  \min(d_i,k) \quad \text{for } k \in \{1,\dots,n\} " style="vertical-align:-20%;" class="tex" alt="\sum_{i=1}^{k}d_i \leq k(k-1) + \sum_{i=k+1}^n  \min(d_i,k) \quad \text{for } k \in \{1,\dots,n\} " /></p>
<p>Suppose the degree sequence is graphical then the following simple procedure construct a possible graph implementation from this given degree sequence.</p>
<h4>Pseudocode: Havel-Hakimi</h4>
<ul>
<li>Begin with no edges</li>
<li>Start residual degree requirement values with the given degree sequence  </li>
<li>While residual degree requirement of some vertex is non-zero </li>
<ul>
<li>Sort vertices in non-increasing order of residual degree requirement <img src="http://l.wordpress.com/latex.php?latex=rd_1%2C%20rd_2%2C%20%5Cldots%20rd_n&#038;bg=C9CDB7&#038;fg=222222&#038;s=2" title="rd_1, rd_2, \ldots rd_n" style="vertical-align:-20%;" class="tex" alt="rd_1, rd_2, \ldots rd_n" /></li>
<li>Make an edge between first vertex and the next <img src="http://l.wordpress.com/latex.php?latex=rd_1&#038;bg=C9CDB7&#038;fg=222222&#038;s=2" title="rd_1" style="vertical-align:-20%;" class="tex" alt="rd_1" /> vertices in the previous list</li>
<li>Update residual degree requirements</li>
</ul>
</ul>
<p><img src="http://arman.boyaci.ca/wp-content/uploads/havel-hakimi-262x300.png" alt="" title="havel-hakimi" width="262" height="300" class="alignnone size-medium wp-image-485" /></p>
<h4>Matlab Code: Havel-Hakimi</h4>
<pre>
function E = mcmc_graph(degree_sequence)

n = size(degree_sequence,2);
% Check if the given degree sequence is graphical
degree_sequence_feasible = 1;
if mod(sum(degree_sequence),2)
    degree_sequence_feasible = 0;
else
    sorted_degree_sequence = sort(degree_sequence,'descend');
    for k=1:n
        temp_sum = 0;
        for i=k+1:n
            temp_sum = temp_sum + min(sorted_degree_sequence(i),k);
        end
        if (sum( sorted_degree_sequence(1:k)) > k*(k-1) + temp_sum )
            degree_sequence_feasible = 0;
        end
    end
end

m = sum(degree_sequence)/2;
E = zeros(m,2);

% Construct an initial graph with Havel-Hakini
if degree_sequence_feasible
    ds = degree_sequence;
    i = 0;
    while sum(ds) > 0
        [residual_degree vertices] = sort(ds,'descend');
        selected_vertices = vertices(2:residual_degree(1)+1);
        E(i+1:i+residual_degree(1),:) = ...
            [repmat(vertices(1),residual_degree(1)) selected_vertices'];
        i = i + residual_degree(1);
        ds(vertices(1)) = ds(vertices(1)) - residual_degree(1);
        ds(selected_vertices) = ds(selected_vertices) - 1;
    end
</pre>
]]></content:encoded>
			<wfw:commentRss>http://arman.boyaci.ca/a-matlab-implementation-of-havel-hakimi-algorithm/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Helly&#8217;s Theorem and Helly Property</title>
		<link>http://arman.boyaci.ca/hellys-theorem-and-helly-property/</link>
		<comments>http://arman.boyaci.ca/hellys-theorem-and-helly-property/#comments</comments>
		<pubDate>Thu, 17 Mar 2011 08:02:15 +0000</pubDate>
		<dc:creator>Arman</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://arman.boyaci.ca/?p=441</guid>
		<description><![CDATA[Helly&#8217;s theorem Let be a set of points in . If the intersection of all possible of these sets are non empty then the whole intersection is non-empty also. For example, let&#8217;s consider a set of paths in . Then if all couple of paths has a non-empty intersection then the intersection of all paths [...]]]></description>
			<content:encoded><![CDATA[<h4>Helly&#8217;s theorem</h4>
<p>Let <img src="http://l.wordpress.com/latex.php?latex=X_1%2C%20X_2%20%5Cldots%20X_n&#038;bg=C9CDB7&#038;fg=222222&#038;s=2" title="X_1, X_2 \ldots X_n" style="vertical-align:-20%;" class="tex" alt="X_1, X_2 \ldots X_n" /> be a set of points in <img src="http://l.wordpress.com/latex.php?latex=R%5Ed&#038;bg=C9CDB7&#038;fg=222222&#038;s=2" title="R^d" style="vertical-align:-20%;" class="tex" alt="R^d" />. If the intersection of all possible <img src="http://l.wordpress.com/latex.php?latex=d%2B1&#038;bg=C9CDB7&#038;fg=222222&#038;s=2" title="d+1" style="vertical-align:-20%;" class="tex" alt="d+1" /> of these sets are non empty then the whole intersection is non-empty also.</p>
<p>For example, let&#8217;s consider a set of paths <img src="http://l.wordpress.com/latex.php?latex=P_1%2C%20P_2%2C%20%5Cldots%20P_n&#038;bg=C9CDB7&#038;fg=222222&#038;s=2" title="P_1, P_2, \ldots P_n" style="vertical-align:-20%;" class="tex" alt="P_1, P_2, \ldots P_n" />  in <img src="http://l.wordpress.com/latex.php?latex=R%5E1&#038;bg=C9CDB7&#038;fg=222222&#038;s=2" title="R^1" style="vertical-align:-20%;" class="tex" alt="R^1" />. Then if all couple of paths has a non-empty intersection then the intersection of all paths is also non-empty.</p>
<p>On the other hand, in <img src="http://l.wordpress.com/latex.php?latex=R%5E2&#038;bg=C9CDB7&#038;fg=222222&#038;s=2" title="R^2" style="vertical-align:-20%;" class="tex" alt="R^2" /> let&#8217;s consider a set of unit circles <img src="http://l.wordpress.com/latex.php?latex=C_1%2C%20C_2%2C%20%5Cldots%20C_n&#038;bg=C9CDB7&#038;fg=222222&#038;s=2" title="C_1, C_2, \ldots C_n" style="vertical-align:-20%;" class="tex" alt="C_1, C_2, \ldots C_n" />. Observe that even if all couple of circles are touching this does not imply that the intersection is not empty.</p>
<div id="attachment_448" class="wp-caption alignnone" style="width: 194px"><a href="http://arman.boyaci.ca/wp-content/uploads/3circles.jpg"><img src="http://arman.boyaci.ca/wp-content/uploads/3circles.jpg" alt="" title="3circles" width="184" height="172" class="size-full wp-image-448" /></a><p class="wp-caption-text">Every two circles intersect but the intersection of all circles are empty</p></div>
<p>But by Helly&#8217;s Theorem we know that if all triples of circles are intersect implies that the total intersection is not empty. </p>
<h4>Helly&#8217;s Family and Helly Property</h4>
<p>We say that a family of sets (for example set of circles in <img src="http://l.wordpress.com/latex.php?latex=R%5E3&#038;bg=C9CDB7&#038;fg=222222&#038;s=2" title="R^3" style="vertical-align:-20%;" class="tex" alt="R^3" />) is a Helly Family of order <img src="http://l.wordpress.com/latex.php?latex=k&#038;bg=C9CDB7&#038;fg=222222&#038;s=2" title="k" style="vertical-align:-20%;" class="tex" alt="k" /> if <img src="http://l.wordpress.com/latex.php?latex=k&#038;bg=C9CDB7&#038;fg=222222&#038;s=2" title="k" style="vertical-align:-20%;" class="tex" alt="k" /> is the minimal number such that non-empty intersection of subsets of size <img src="http://l.wordpress.com/latex.php?latex=k&#038;bg=C9CDB7&#038;fg=222222&#038;s=2" title="k" style="vertical-align:-20%;" class="tex" alt="k" /> has a non-empty total intersection. The <img src="http://l.wordpress.com/latex.php?latex=k&#038;bg=C9CDB7&#038;fg=222222&#038;s=2" title="k" style="vertical-align:-20%;" class="tex" alt="k" />-Helly property is the property of being a Helly family of order <img src="http://l.wordpress.com/latex.php?latex=k&#038;bg=C9CDB7&#038;fg=222222&#038;s=2" title="k" style="vertical-align:-20%;" class="tex" alt="k" />. A 2-Helly family is also known as a <em>Helly family</em> and the 2-Helly property is also known as the <em>Helly property</em>. </p>
<h4>Helly Property in Graph Thoery</h4>
<p>It is possible to derive maximum clique algorithms for special graph classes like interval graphs or unit disk graphs using this property. </p>
]]></content:encoded>
			<wfw:commentRss>http://arman.boyaci.ca/hellys-theorem-and-helly-property/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Checklist for an operations research qualification exam</title>
		<link>http://arman.boyaci.ca/checklist-for-an-operations-research-qualification-exam/</link>
		<comments>http://arman.boyaci.ca/checklist-for-an-operations-research-qualification-exam/#comments</comments>
		<pubDate>Sun, 30 Jan 2011 20:28:51 +0000</pubDate>
		<dc:creator>Arman</dc:creator>
				<category><![CDATA[PHD]]></category>
		<category><![CDATA[operations research]]></category>

		<guid isPermaLink="false">http://arman.boyaci.ca/?p=393</guid>
		<description><![CDATA[Linear (Integer) Programming Some definitions: Degeneracy, Total unimodularity, Shadow price, Reduced Cost, Sensitivity analysis, minkowski theorem Primal and dual simplex methods Big-M, Two phase methods Theory of simplex method Duality Fundemental problems and their mathematical formulations: matching, assignment, shortest path, maximum flow Linear programming modeling tips: absolute value, etc. Integer programming modeling tips: m constraints [...]]]></description>
			<content:encoded><![CDATA[<h4>Linear (Integer) Programming</h4>
<ul>
<li>Some definitions: Degeneracy, Total unimodularity, Shadow price, Reduced Cost, Sensitivity analysis, minkowski theorem</li>
<li>Primal and dual simplex methods</li>
<li>Big-M, Two phase methods</li>
<li>Theory of simplex method</li>
<li>Duality</li>
<li>Fundemental problems and their mathematical formulations: matching, assignment, shortest path, maximum flow</li>
<li>Linear programming modeling tips: absolute value, etc.</li>
<li>Integer programming modeling tips: m constraints among n constraints, etc.</li>
<li>Decomposition methods: Dantzig-Wolfe, Bender&#8217;s </li>
</ul>
<h4>Nonlinear Programming</h4>
<ul>
<li>Some definitions: Convex set, convex function </li>
<li>Optimality conditions</li>
<li>Newton&#8217;s and secant methods</li>
<li>Positive definite matrices</li>
<li>Steepest descent</li>
<li>Geometric programming</li>
<li>Duality (Lagrangean) </li>
</ul>
<h4>Probability &#038; Statistics</h4>
<ul>
<li>Some definitions: Bayes theorem, Maximum likelihood, Exponential family, Canonical parametrization, Expectation, Variance, Law of large numbers, Central limit theorem </li>
<li>Basic dicrete probability distributions: Bernoulli, Binomial, Multinomial, etc.</li>
<li>Basic continous probability distributions: Normal, Poisson, Beta, Gamma, etc. </li>
<li>Bayesian aproach vs Frequentist aproach</li>
<li>Condition probability</li>
<li>Hypothesis testing</li>
<li>ANOVA </li>
</ul>
<h4>Stochastic Processes</h4>
<ul>
<li>State transition modeling</li>
<li>Birth-death processes</li>
<li>Poisson processes</li>
<li>Queuing theory</li>
<li>Markov chains </li>
<li>Renewal-Reward processes</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://arman.boyaci.ca/checklist-for-an-operations-research-qualification-exam/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

