Workshop Scripting and Optimization program

Scripting and Optimization - Workshop on Python programming language and single/multi-objective/particle swarm optimization in Rhinoceros and Grasshopper for architecture, planning and environmental design

Tallinn University of Technology – Departments of Structural Design and Environmental Engineering 

From 21 to 24 September 2016

Target group and organization
The workshop is addressed to students of architecture and civil engineering faculties at master level. The selected students will have full scholarship that will include travel, board and lodging in Tallinn for 5 days (arrival on Tuesday 20.09.2016 departure on Sunday 25.09.2016). The workshop is funded by the NORDPLUS programme of the Nordic Council of Ministers (NCM) - Higher Education objective (project title: Environmental Computational Design and Planning Workshop - project ID: NPHE-2015/10036).

The use of scripting and programming in computational design is increasingly important for researchers, architects, designers and engineers. It permits to extend the basic functionalities of existing digital tools and to create tailored and ad-hoc procedures to achieve specific research and design targets. At the same time expand the potentialities of integration of environmental and energy aspects from the very early stages of the design and planning process. The implementation of customized  routines allow students and professionals to increase the efficiency of their projects and the integration in the environment.

The workshop attendants will broaden their design and technical knowledge with Python programming for the computational design environment and will learn how to integrate script functionalities and optimization tools into architecture and environmental design and planning processes. The expected outcome are:
- Create Python scripts for the realization of simple routines and design tasks.
- Programming using Python functions for the realization of specific tools also in relation with environmental analysis.
- Design using optimization methodologies for solving complex design tasks.

The workshop activities are divided in three:
- Presentation of the fundamental concepts of programming in Python and optimization;
- How-to lessons for the creation of scripts, codes, object oriented programming and optimization procedures;
- Practical work on the development of a tool or algorithm with specific function.

Is required proficiency with CAD and BIM software, parametric design tools (preferably Rhinoceros and Grasshopper), environmental analysis and simulation software.

Number of students, registration and qualification criteria
In the workshop there will be max 12 students from three/four different countries. Two from Sweden and Lithuania, if possible two from Latvia*, and six from Estonia. To request to participate in the workshop the students will have to write an email to Francesco De Luca at with motivation letter and a brief CV with indication of design experience, CAD, BIM and parametric software proficiency.
The selection will be done on the base of: date of request by email, motivation letter, CV.
* This September workshop is done with the remaining fund available from the July workshop. In this were present only students from Latvia for the foreign contingent, so for the September workshop students from Sweden and Lithuania have the priority. In case of vacant seats then students from Latvia can receive scholarship.

Registration deadline
The deadline for the request of registration is 11.09.2016.

Evaluation and credits
At the end of the workshop the students will present the work of study case design developed singularly or in small groups to show the process used to integrate computational methodologies with environmental and energy design tools and the outcomes. The workshop will grant 2 ECTS (24 hours class + 28 hours independent study).

Workshop tutor
Agata Migalska, Wroclaw University of Technology, Architektura Parametryczna, Poland.

Computers and software
It is a requisite that the students will come with their own laptops.  Indications about downloading and installing the software (trial version or free) will be provided. The software will be the following: 
- Rhinoceros
- Grasshopper
- GHPython plugin for Grasshopper (Python Script plugin)
- Silvereye plugin for Grasshopper (PSObased optimization plugin)
- Octopus plugin for Grasshopper (Multi-objective optimization plugin)

Workshop programme

Tuesday 20.09 - Students arrival

Wednesday 21.09 - Day 1 (13-16 16.30-19.30)
Introduction to Python programming language and Python script component in Grasshopper.
Participants will write the number of Python scripts of increasing complexity from
“Hello World!” to 3D fractals.

Thursday 22.09 - Day 2 (13-16 16.30-19.30)
Moving code into functions why and how to write them in Python. Enriching Python script components with input parameters: numbers, points, curves and surfaces. Case study: Panelization.

Friday 23.07 - Day 3 (13-16 16.30-19.30)
Interacting with Rhino baking and objects attributes. Object Oriented Programming in Python and how to apply it to scripting in Grasshopper.

Saturday 24.09 - Day 4 (13-16 16.30-19.30)
Optimization Finding optimal panelization and solving other optimization problems using Galapagos (single objective optimization plugin based on Genetic Algorithm), Silvereye (optimization plugin based on Particle Swarm Optimization algorithm) and Octopus (multi-objective optimization plugin based on evolutionary principles).

Sunday 25.09 - Students departure

(Python text in the image from Solar Radiation component of Ladybug)