高中数学:线性规划问题实例 10
2015-03-19 15:30
本 GeoGebra 范例主要演示高中数学中的线性规划问题。通过构建线性不等式组所表示的平面区域(可行域),并利用 Intersect(交点)命令精确求解多条边界直线的交点坐标,从而确定可行域的多边形顶点。该模型有助于学生直观理解线性目标函数在特定约束条件下的最值求解过程,是解析几何与不等式结合的经典教学应用。
所属专题
高中数学_高二上GeoGebra互动资源
<?xml version="1.0" encoding="utf-8"?>
<geogebra format="5.0" version="5.0.75.0" id="689883b5-4cdc-4741-941a-2f49aeab6c1d" xsi:noNamespaceSchemaLocation="http://www.geogebra.org/ggb.xsd" xmlns="" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >
<gui>
<window width="1372" height="740" />
<perspectives>
<perspective id="tmp">
<panes>
<pane location="" divider="0.1457725947521866" orientation="1" />
</panes>
<views>
<view id="4097" visible="false" inframe="true" stylebar="true" location="1,1,1" size="400" window="643,150,700,550" />
<view id="512" toolbar="0 | 1 501 5 19 , 67 | 2 15 45 18 , 7 37 | 514 3 9 , 13 44 , 47 | 16 | 551 550 11 , 22 , 23 , 55 56 57 , 12 | 69 | 510 511 , 512 513 | 533 531 , 534 532 , 522 523 , 537 536 , 535 | 521 520 | 36 , 38 49 560 | 571 30 29 570 31 33 | 17 | 540 40 41 42 , 27 28 35 , 6 , 502" visible="false" inframe="false" stylebar="false" location="1,1,1" size="500" window="100,100,600,400" />
<view id="4" toolbar="0 59 || 2020 , 2021 , 2022 , 66 || 2001 , 2003 , 2002 , 2004 , 2005 || 2040 , 2041 , 2042 , 2044 , 2043" visible="false" inframe="false" stylebar="false" location="1,1" size="300" window="100,100,600,400" />
<view id="8" toolbar="1001 | 1002 | 1003 || 1005 | 1004 || 1006 | 1007 | 1010 | 1011 || 1008 1009 || 6" visible="false" inframe="false" stylebar="false" location="1,3" size="300" window="100,100,600,400" />
<view id="1" visible="true" inframe="false" stylebar="false" location="1" size="1144" window="100,100,600,400" />
<view id="2" visible="true" inframe="false" stylebar="false" location="3" size="200" window="100,100,250,400" />
<view id="16" visible="false" inframe="false" stylebar="false" location="1" size="150" window="50,50,500,500" />
<view id="32" visible="false" inframe="false" stylebar="true" location="1" size="150" window="50,50,500,500" />
<view id="64" toolbar="0" visible="false" inframe="true" stylebar="true" location="1" size="150" window="50,50,500,500" />
<view id="70" toolbar="0 || 2020 || 2021 || 2022" visible="false" inframe="true" stylebar="true" location="1" size="150" window="50,50,500,500" />
</views>
<toolbar show="true" items="0 39 59 | 1 501 67 , 5 19 , 72 | 2 15 45 , 18 65 , 7 37 | 4 3 8 9 , 13 44 , 58 , 47 | 16 51 64 , 70 | 10 34 53 11 , 24 20 22 , 21 23 | 55 56 57 , 12 | 36 46 , 38 49 50 , 71 | 30 29 54 32 31 33 | 17 26 62 73 , 14 66 68 | 25 52 60 61 | 40 41 42 , 27 28 35 , 6" position="1" help="false" />
<input show="true" cmd="true" top="false" />
<dockBar show="true" east="true" />
</perspective>
</perspectives>
<labelingStyle val="3"/>
<font size="12"/>
<graphicsSettings javaLatexFonts="false"/>
</gui>
<euclidianView>
<viewNumber viewNo="1"/>
<size width="1144" height="577"/>
<coordSystem xZero="85.79562125672504" yZero="402.75294732028794" scale="6.788766372722394" yscale="6.7887663727223675"/>
<evSettings axes="true" grid="false" gridIsBold="false" pointCapturing="3" rightAngleStyle="1" checkboxSize="13" gridType="0"/>
<bgColor r="255" g="255" b="255"/>
<axesColor r="0" g="0" b="0"/>
<gridColor r="192" g="192" b="192"/>
<lineStyle axes="1" grid="10"/>
<axis id="0" show="true" label="" unitLabel="" tickStyle="1" showNumbers="true"/>
<axis id="1" show="true" label="" unitLabel="" tickStyle="1" showNumbers="true"/>
</euclidianView>
<kernel>
<continuous val="false"/>
<usePathAndRegionParameters val="true"/>
<decimals val="2"/>
<angleUnit val="degree"/>
<algebraStyle val="0"/>
<coordStyle val="0"/>
<angleFromInvTrig val="false"/>
</kernel>
<scripting blocked="false" disabled="false"/>
<construction title="高二上線性規劃_10" author="" date="19 3 月 2015">
<worksheetText above="某農夫有一塊菜圃,至少須施氮肥5公斤、磷肥4公斤及鉀肥7公斤. 已知農會出售甲、乙兩種肥料, 甲種肥料每公斤20元,其中含氮20%,磷10%,鉀20%; 乙種肥料每公斤25元,其中含氮川%,磷20%,鉀20%, 問他須向農會購買甲、乙兩種肥料各多少公斤加以混合施肥, 才能使花費最少,而且又有足夠分量的氮、磷與鉀肥?" below="令 買入甲肥料 x 公斤 、 乙肥料 y 公斤 成本 N P K 買的重量(kg) 甲肥料 20 0.2 0.1 0.2 x 乙肥料 25 0.1 0.2 0.2 y 含氮肥 0.2 x + 0.1 y >= 5 含磷肥 0.1 x + 0.2 y >= 4 含鉀肥 0.2 x + 0.2 y >= 7 可得右圖 求成本最低 成本 20x + 25y 可畫出一條斜率為-0.8的斜直線 當斜直線向右或向上最先碰的交點即為所求 可得交點 (30 , 5) 則最低成本 725元"/>
<expression label ="a" exp="a(x, y) = (0.2 * x) + (0.1 * y) ≥ 5"/>
<element type="functionNVar" label="a">
<show object="false" label="false"/>
<objColor r="0" g="0" b="255" alpha="0.25"/>
<layer val="0"/>
<labelMode val="0"/>
<animation step="1" speed="1" type="0" playing="false"/>
<lineStyle thickness="2" type="0" typeHidden="1"/>
</element>
<expression label ="b" exp="b(x, y) = (0.1 * x) + (0.2 * y) ≥ 4"/>
<element type="functionNVar" label="b">
<show object="false" label="false"/>
<objColor r="0" g="0" b="255" alpha="0.25"/>
<layer val="0"/>
<labelMode val="0"/>
<animation step="1" speed="1" type="0" playing="false"/>
<lineStyle thickness="2" type="0" typeHidden="1"/>
</element>
<expression label ="c" exp="c(x, y) = (0.2 * x) + (0.2 * y) ≥ 7"/>
<element type="functionNVar" label="c">
<show object="false" label="false"/>
<objColor r="0" g="0" b="255" alpha="0.25"/>
<layer val="0"/>
<labelMode val="0"/>
<animation step="1" speed="1" type="0" playing="false"/>
<lineStyle thickness="2" type="0" typeHidden="1"/>
</element>
<expression label ="d" exp="d(x) = x ≥ 0"/>
<element type="function" label="d">
<show object="false" label="false"/>
<objColor r="0" g="0" b="255" alpha="0.25"/>
<layer val="0"/>
<labelMode val="0"/>
<animation step="1" speed="1" type="0" playing="false"/>
<lineStyle thickness="2" type="0" typeHidden="1"/>
</element>
<expression label ="e" exp="e(y) = y ≥ 0"/>
<element type="function" label="e">
<show object="false" label="false"/>
<objColor r="0" g="0" b="255" alpha="0.25"/>
<layer val="0"/>
<labelMode val="0"/>
<animation step="1" speed="1" type="0" playing="false"/>
<lineStyle thickness="2" type="0" typeHidden="1"/>
</element>
<expression label="f" exp="f(x, y) = a(x, y) ∧ b(x, y) ∧ c(x, y) ∧ d(x) ∧ e(y)" />
<element type="functionNVar" label="f">
<show object="true" label="false" ev="4"/>
<objColor r="0" g="0" b="255" alpha="0.25"/>
<layer val="0"/>
<labelMode val="0"/>
<lineStyle thickness="1" type="0" typeHidden="1"/>
</element>
<element type="line" label="g">
<show object="false" label="false"/>
<objColor r="0" g="0" b="0" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<animation step="1" speed="1" type="0" playing="false"/>
<coords x="20.0" y="25.0" z="0.0"/>
<lineStyle thickness="2" type="0" typeHidden="1"/>
<eqnStyle style="implicit"/>
</element>
<element type="numeric" label="h">
<value val="0.0"/>
<show object="true" label="true"/>
<objColor r="0" g="0" b="0" alpha="0.1"/>
<layer val="0"/>
<labelMode val="1"/>
<slider min="0" max="50" width="40.0" x="18.8236347473272" y="44.81165006961003" fixed="true" horizontal="true"/>
<lineStyle thickness="6" type="0" typeHidden="1"/>
<animation step="0.1" speed="3" type="1" playing="true"/>
</element>
<expression label="i" exp="(25 * y) = ((-20) * x) + (25 * h)" type="line" />
<element type="line" label="i">
<show object="true" label="false" ev="4"/>
<objColor r="255" g="0" b="0" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<coords x="20.0" y="25.0" z="0.0"/>
<lineStyle thickness="2" type="10" typeHidden="1"/>
<eqnStyle style="implicit"/>
</element>
<element type="line" label="j">
<show object="false" label="false"/>
<objColor r="0" g="0" b="0" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<animation step="1" speed="1" type="0" playing="false"/>
<coords x="0.1" y="0.2" z="-4.0"/>
<lineStyle thickness="2" type="0" typeHidden="1"/>
<eqnStyle style="implicit"/>
</element>
<element type="line" label="k">
<show object="false" label="false"/>
<objColor r="0" g="0" b="0" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<animation step="1" speed="1" type="0" playing="false"/>
<coords x="0.2" y="0.2" z="-7.0"/>
<lineStyle thickness="2" type="0" typeHidden="1"/>
<eqnStyle style="implicit"/>
</element>
<command name="Intersect">
<input a0="k" a1="j"/>
<output a0="A"/>
</command>
<element type="point" label="A">
<show object="true" label="true"/>
<objColor r="68" g="68" b="68" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<coords x="0.6000000000000001" y="0.09999999999999998" z="0.020000000000000004"/>
<pointSize val="3"/>
<pointStyle val="0"/>
</element>
<element type="line" label="l">
<show object="false" label="false"/>
<objColor r="0" g="0" b="0" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<animation step="0.1" speed="1" type="0" playing="false"/>
<coords x="0.2" y="0.1" z="-5.0"/>
<lineStyle thickness="2" type="0" typeHidden="1"/>
<eqnStyle style="implicit"/>
</element>
<command name="Intersect">
<input a0="l" a1="k"/>
<output a0="B"/>
</command>
<element type="point" label="B">
<show object="true" label="true"/>
<objColor r="68" g="68" b="68" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<coords x="0.29999999999999993" y="0.40000000000000013" z="0.020000000000000004"/>
<pointSize val="3"/>
<pointStyle val="0"/>
</element>
<command name="Intersect">
<input a0="l" a1="yAxis"/>
<output a0="C"/>
</command>
<element type="point" label="C">
<show object="true" label="true"/>
<objColor r="68" g="68" b="68" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<coords x="0.0" y="5.0" z="0.1"/>
<pointSize val="3"/>
<pointStyle val="0"/>
</element>
<command name="Intersect">
<input a0="xAxis" a1="j"/>
<output a0="D"/>
</command>
<element type="point" label="D">
<show object="true" label="true"/>
<objColor r="68" g="68" b="68" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<coords x="4.0" y="-0.0" z="0.1"/>
<pointSize val="3"/>
<pointStyle val="0"/>
</element>
</construction>
</geogebra>