Lineares Optimierungsproblem: Unterschied zwischen den Versionen

 
Zeile 63: Zeile 63:
     <div id="box_lop" class="jxgbox" style="width: 400px; height: 400px; margin-top:20px;"></div>
     <div id="box_lop" class="jxgbox" style="width: 400px; height: 400px; margin-top:20px;"></div>
     <script type="text/javascript">
     <script type="text/javascript">
         (function() {
         (function () {
             var board = JXG.JSXGraph.initBoard('box_lop', {
             var board = JXG.JSXGraph.initBoard('box_lop', {
                 boundingbox: [-1, 9, 9, -1],
                 boundingbox: [-1, 9, 9, -1],
                 axis: true,
                 axis: true,
                 grid: true,
                 grid: true,
                 showCopyright: false
                 showCopyright: false,
                defaultAxes: {
                    x: {
                        withLabel: true,
                        name: 'x',
                        label: { position: 'rt', offset: [-10, 15] }
                    },
                    y: {
                        withLabel: true,
                        name: 'y',
                        label: { position: 'rt', offset: [10, -5] }
                    }
                }
             });
             });


             // Nebenbedingungen
             // Nebenbedingung: 2x + y = 8  -> y = -2x + 8
            // 2x + y = 8
             var nb1 = board.create('functiongraph', [
             var nb1 = board.create('line', [[0, 8], [4, 0]], {
                function (x) { return -2 * x + 8; }
                straightFirst: false,
            ], {
                straightLast: false,
                 strokeColor: 'red',
                 strokeColor: 'red',
                 name: '2x + y = 8',
                 name: '2x + y = 8',
                 withLabel: true
                 withLabel: true,
                label: { offset: [-60, 20] }
             });
             });


             // x + 2y = 8
             // Nebenbedingung: x + 2y = 8 -> y = -0.5x + 4
             var nb2 = board.create('line', [[0, 4], [8, 0]], {
             var nb2 = board.create('functiongraph', [
                straightFirst: false,
                function (x) { return -0.5 * x + 4; }
                straightLast: false,
            ], {
                 strokeColor: 'blue',
                 strokeColor: 'blue',
                 name: 'x + 2y = 8',
                 name: 'x + 2y = 8',
                 withLabel: true
                 withLabel: true,
                label: { offset: [10, -20] }
             });
             });


Zeile 94: Zeile 107:
                 [0, 0],
                 [0, 0],
                 [4, 0],
                 [4, 0],
                 [8/3, 8/3],
                 [8 / 3, 8 / 3],
                 [0, 4]
                 [0, 4]
             ], {
             ], {
Zeile 103: Zeile 116:


             // Slider für Zielfunktion Z = 3x + 5y
             // Slider für Zielfunktion Z = 3x + 5y
             var Z = board.create('slider', [[0.5, 8.2], [5.5, 8.2], [0, 0, 40]], {
             var Z = board.create('slider', [[0.5, 8.6], [6.5, 8.6], [0, 0, 40]], {
                 name: 'Z'
                 name: 'Z'
             });
             });


             // Zielfunktionsgerade: 3x + 5y = Z  => y = (Z - 3x)/5
             // Zielfunktion: 3x + 5y = Z  -> y = (Z - 3x)/5
             board.create('line', [
             board.create('functiongraph', [
                 function () { return -3 / 5; },
                 function (x) { return (Z.Value() - 3 * x) / 5; }
                function () { return Z.Value() / 5; }
             ], {
             ], {
                 strokeColor: 'green',
                 strokeColor: 'green',