Design Optimization Through VBA programming

In this post, I would like to share about design optimization through VBA programming. Design optimization is very critical for anybody who would like to optimize their design parameters. It can be due to safety issue, cost effective, bottle neck activity and so on. Through optimization, engineer often find the best solution through parametric or sensitivity study where they have to do trial and error or repetitive check on their design. Optimization can be achieve via deterministic or probabilistic study. Like myself I've been involved in pipeline installation analysis in ONG sector. One of the tool require to do the pipeline installation analysis is OFFPIPE by Robert C. Malahy. 

OFFPIPE is an FEA 2d Static software that can be use to check the pipeline stress during pipe laying. It is very useful and easy to use. But sometime I as pipeline engineer in my company have to find the best barge configuration and setting in order to make sure the pipeline stress is "OK" and at the same time produce an optimise setting timely. This can only be achieved via iterative programming because there are thousand of possibility of combined parameter setting (e.g. Lay tension / stinger radius / barge radius) that can be achieved. So I have use VBA programming to do this. To do this I have to integrate and call the OFFPIPE engine through my VBA programming and do the parametric analysis. Below is the screenshot of my custom VBA programmed that is integrated with the OFFPIPE engine.

1) Deterministic Optimization Module

2) Probabilistic Optimization Module


3) Probabilistic Optimization Parameter

There are two (2) optimization approaches here which is deterministic and probabilistic analysis. Through this VBA programming I be able to get my best combination parameter that give the safest pipeline installation setting for my barge in a very short time. I will elaborate more on the deterministic and probabilistic approached especially probabilistic analysis that use "Monte Carlo Simulation" engine if time permitted in my next post. stay tune ;)

Posted byMatt at 6:46 PM 0 comments