<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://tomwiki.com/index.php?action=history&amp;feed=atom&amp;title=TomSym_Structural_Optimization</id>
	<title>TomSym Structural Optimization - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://tomwiki.com/index.php?action=history&amp;feed=atom&amp;title=TomSym_Structural_Optimization"/>
	<link rel="alternate" type="text/html" href="http://tomwiki.com/index.php?title=TomSym_Structural_Optimization&amp;action=history"/>
	<updated>2026-11-01T01:11:04Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.39.1</generator>
	<entry>
		<id>http://tomwiki.com/index.php?title=TomSym_Structural_Optimization&amp;diff=2175&amp;oldid=prev</id>
		<title>Mbot at 13:34, 8 November 2011</title>
		<link rel="alternate" type="text/html" href="http://tomwiki.com/index.php?title=TomSym_Structural_Optimization&amp;diff=2175&amp;oldid=prev"/>
		<updated>2011-11-08T13:34:57Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 09:34, 8 November 2011&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l82&quot;&gt;Line 82:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 82:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Problem type appears to be: con&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Problem type appears to be: con&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Time for symbolic processing: 0.&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;16817 &lt;/del&gt;seconds&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Time for symbolic processing: 0.&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;16741 &lt;/ins&gt;seconds&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Starting numeric solver&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Starting numeric solver&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;===== * * * =================================================================== * * *&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;===== * * * =================================================================== * * *&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l97&quot;&gt;Line 97:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 97:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;FuncEv   16 GradEv   14 ConstrEv   14 ConJacEv   14 Iter   13 MinorIter   20&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;FuncEv   16 GradEv   14 ConstrEv   14 ConJacEv   14 Iter   13 MinorIter   20&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;CPU time: 0.031200 sec. Elapsed time: 0.&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;020000 &lt;/del&gt;sec.  &lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;CPU time: 0.031200 sec. Elapsed time: 0.&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;024000 &lt;/ins&gt;sec.  &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Mbot</name></author>
	</entry>
	<entry>
		<id>http://tomwiki.com/index.php?title=TomSym_Structural_Optimization&amp;diff=1658&amp;oldid=prev</id>
		<title>Mbot: Created page with &quot;{{Part Of Manual|title=the TomSym Manual|link=TomSym Manual}}  TomSym implementation of GAMS Example (SHIP,SEQ=22)  This model designs a vertically corrugated transver...&quot;</title>
		<link rel="alternate" type="text/html" href="http://tomwiki.com/index.php?title=TomSym_Structural_Optimization&amp;diff=1658&amp;oldid=prev"/>
		<updated>2011-11-02T21:03:02Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;{{Part Of Manual|title=the TomSym Manual|link=&lt;a href=&quot;/index.php?title=TomSym&quot; title=&quot;TomSym&quot;&gt;TomSym Manual&lt;/a&gt;}}  TomSym implementation of GAMS Example (SHIP,SEQ=22)  This model designs a vertically corrugated transver...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Part Of Manual|title=the TomSym Manual|link=[[TomSym|TomSym Manual]]}}&lt;br /&gt;
&lt;br /&gt;
TomSym implementation of GAMS Example (SHIP,SEQ=22)&lt;br /&gt;
&lt;br /&gt;
This model designs a vertically corrugated transverse bulkhead of an oil tanker. The objective is to design for minimum weight and meet stress, moment of inertia and plate thickness constraints.&lt;br /&gt;
&lt;br /&gt;
Bracken, J, and McCormick, G P, Chapter 6. In Selected Applications of Nonlinear Programming. John Wiley and Sons, New York, 1968.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;matlab&amp;quot;&amp;gt;&lt;br /&gt;
% s: bulkhead sections (top, middle, bottom)&lt;br /&gt;
&lt;br /&gt;
toms 3x1 s&lt;br /&gt;
&lt;br /&gt;
gam = 0.001; % specific gravity of water&lt;br /&gt;
sig = 1200;  % maximum bending stress&lt;br /&gt;
dnv = 3.9;   % det norske veritas factor&lt;br /&gt;
ha = 250;    % height above panel&lt;br /&gt;
gamsteel = .0078; % specific weight of steel&lt;br /&gt;
&lt;br /&gt;
% Length of panel&lt;br /&gt;
l = [495; 385; 315];&lt;br /&gt;
&lt;br /&gt;
% Height at the base of panel&lt;br /&gt;
hb = ha+sum(full(spdiags(repmat(l&amp;#039;,3,1),[0 1 2],3,3)))&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
% Height at the middle of panel&lt;br /&gt;
h = hb - l/2;&lt;br /&gt;
&lt;br /&gt;
% Constant number one&lt;br /&gt;
k1 = gam*h.*l.*l/12/sig;&lt;br /&gt;
&lt;br /&gt;
% Constant number two&lt;br /&gt;
k2 = dnv*1.05e-4*sqrt(hb);&lt;br /&gt;
&lt;br /&gt;
e = 0.8;&lt;br /&gt;
width = 500;&lt;br /&gt;
ca = 0.2;&lt;br /&gt;
tlow = 1.05;&lt;br /&gt;
&lt;br /&gt;
toms 3x1 z th % module, plate thickness&lt;br /&gt;
% width of flange, length of web, depth of corrugation, width of&lt;br /&gt;
% corrugation, weight of structure&lt;br /&gt;
toms wl lw d wc w&lt;br /&gt;
&lt;br /&gt;
% Module definition&lt;br /&gt;
eq1 = {z == d*th*(lw/3+wl*e)/2};&lt;br /&gt;
&lt;br /&gt;
% Width of corrugation - definition&lt;br /&gt;
eq2 = {(wc-wl)^2 == lw^2 - d^2};&lt;br /&gt;
&lt;br /&gt;
% Bending stress&lt;br /&gt;
eq3 = {z &amp;gt;= k1*wc};&lt;br /&gt;
&lt;br /&gt;
% Moment of inertia&lt;br /&gt;
eq4 = {z*d/2 &amp;gt;= 2.2*(k1*wc).^(4/3)};&lt;br /&gt;
&lt;br /&gt;
% Plate thickness - width of flange&lt;br /&gt;
eq5 = {th &amp;gt;= k2*wl + ca};&lt;br /&gt;
&lt;br /&gt;
% Plate thickness - length of web&lt;br /&gt;
eq6 = {th &amp;gt;= k2*lw + ca};&lt;br /&gt;
&lt;br /&gt;
% Geometric constraint&lt;br /&gt;
eq7 = {lw &amp;gt;= d};&lt;br /&gt;
&lt;br /&gt;
% Total weight of structure&lt;br /&gt;
&lt;br /&gt;
obj = gamsteel*width*(wl+lw)*sum(th.*l)/wc/1000;&lt;br /&gt;
&lt;br /&gt;
% Bound on th&lt;br /&gt;
cbnd = {th &amp;gt;= tlow};&lt;br /&gt;
&lt;br /&gt;
% Starting point&lt;br /&gt;
x0 = {th == [1.2;1.2;1.3]; wl == 45.8; lw == 43.2&lt;br /&gt;
    d == 30.5; wc == wl+sqrt(lw^2-d^2)&lt;br /&gt;
    z == d*th*(lw/3+wl*e)/2};&lt;br /&gt;
&lt;br /&gt;
cons = {cbnd; eq1; eq2; eq3; eq4; eq5; eq6; eq7};&lt;br /&gt;
solution = ezsolve(obj,cons,x0);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Problem type appears to be: con&lt;br /&gt;
Time for symbolic processing: 0.16817 seconds&lt;br /&gt;
Starting numeric solver&lt;br /&gt;
===== * * * =================================================================== * * *&lt;br /&gt;
TOMLAB - TOMLAB Development license  999007. Valid to 2011-12-31&lt;br /&gt;
=====================================================================================&lt;br /&gt;
Problem: ---  1: Problem 1                      f_k       5.540914709534572300&lt;br /&gt;
                                       sum(|constr|)      0.000000000717364057&lt;br /&gt;
                              f(x_k) + sum(|constr|)      5.540914710251936300&lt;br /&gt;
                                              f(x_0)      6.658577357100706500&lt;br /&gt;
&lt;br /&gt;
Solver: snopt.  EXIT=0.  INFORM=1.&lt;br /&gt;
SNOPT 7.2-5 NLP code&lt;br /&gt;
Optimality conditions satisfied&lt;br /&gt;
&lt;br /&gt;
FuncEv   16 GradEv   14 ConstrEv   14 ConJacEv   14 Iter   13 MinorIter   20&lt;br /&gt;
CPU time: 0.031200 sec. Elapsed time: 0.020000 sec. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mbot</name></author>
	</entry>
</feed>