Projects

Colourful Feasibility Problem Project

From May 2004 to July 2007 I worked under the supervision of Dr. Antoine Deza and Dr. Tamás Terlaky. We studied the Colourful Feasibility Problem which requires us to solve a problem under linear and combinatorial constraints.
Graphical Illustration of Colourful Feasibility Problem
I was responsible to analyze and code the solver algorithms, test case generators and test scripts in Matlab from Mathworks. The code can be downloaded here. And the complete project website is here. My Poster Presentation can be downloaded here.
The implemented algorithms use:
  • Matlab Optimization Toolbox, to do linear and quadratic optimization;
  • SeDuMi Solver, to solve postive semidefinite relaxation problem;
  • YALMIP Toolbox, to ease the optimization problem formulation.
    The people involved are:
  • Dr. Antoine Deza and Dr. Tamás Terlaky (my supervisors in McMaster University)
  • Dr. Tamon Stephen (Simon Fraser University)
  • Hanxing Zhang (University of Waterloo after September, 2007)

    Truss Topology GUI Program

    Software Screen Shot

    This is a project of the graduate class: Convex Optimization in Engineering (2006) by Dr. Tamás Terlaky. In the GUI, users can input the quality and quantity of materials, load forces with uncertainties, and fixed points. Then the software can automatically calculate the optimal structure design. This program uses Lorentz cone optimization to model the physical design with uncertainty, and use SeDuMi solver to find the optimization.
    Reference: course slides

    SE4G06 Lego Project

    Robot Screen Shot Robot Front Screen Shot
    I was in team 5 in my software engineering 4G06 course (2004-2005) The goal was to design the software and hardware of a robot navigating the pipe network and clear blockages.
  • the robot hardware is built with Lego Mindstorm Robot Invention Kit and blend sensors;
  • the robot is programmed with BrickOS operating system using C++;
  • the front-end GUI PC program is developed with Visual Basic.Net;
  • the front-end and robot communicates through infrared tower, which is controled by Cygwin and Batch files.
    I was responsible for the front-end program, the communication between the robot and the front-end, the selection of the blend sensors and some robot control ideas.
    Our Yahoo! Group. I thank Yu Wang for sharing his BrickOS knowledge.


    Sturcture Editor for Finite Element Method

    Structure Editor Screen Shot 1 Structure Editor Screen Shot 2
    During Summer 2003, I developed this is a GUI program under the supervision of Dr. Dieter Stolle. It allows user to edit a finite element model of shapes.
  • developed with Delphi 5 from Borland and OpenGL;
  • each finite element model is represented by a group of text files;
  • modulized design with analysis routine that is easy to identify and customize.
  • download win32 executable program
  • download source code


    Card Game Player Module

    I was the strategy developer of team 34 in software engineering 2B03 course (2003). Here is the specification of the dealer-player module system and here is our player module code in Oberon-2 language.