亚洲免费人人妻人人,cao78在线视频,福建一级毛片,91精品视频免费观看,高清另类图片操逼,日本特黄特色大片免费看,超碰欧美人人澡曰曰澡夜夜泛

運籌學課程設計源代碼-題目是《某商店要制訂明年第一季度某種商品的進貨和銷

時間:2023-05-01 07:12:25 資料 我要投稿
  • 相關(guān)推薦

運籌學課程設計源代碼-題目是《某商店要制訂明年第一季度某種商品的進貨和銷售計劃》

運籌學建模與源代碼

運籌學課程設計源代碼-題目是《某商店要制訂明年第一季度某種商品的進貨和銷售計劃》

題目:某商店要制訂明年第一季度某種商品的進貨和銷售計劃。一直該店的倉庫容量最多

可存儲該種商品500件,而今年年底有200件存貨。該店在每月月初進貨一次。一直各月份進貨和銷售該種商品的單價如下表所示。問每個月應進貨和銷售該種商品個多少件,才能使總利潤最大。并按要求分別完成下列分析:(1)2月份的進貨單價在何范圍內(nèi)變化時最優(yōu)進銷策略不變?(2)3月份的售價在何范圍內(nèi)變化是最優(yōu)進銷策略不變?(3)第一月份初庫

1.所建模型

1.1 設定變量 設x1為一月份的進貨量 x2 為二月份的進貨量 x3為三月份的進貨量 x4為一月份的銷售量 x5為二月份的銷售量 x6為三月份的銷售量

2.2 約束條件的確定

一月份的進貨量加月初庫存量小于總庫存量:x1 ≤300 一月份的銷售量小于總庫存量: -x1+ x4 ≤200 二月份的進貨量月初加庫存量小于總庫存量:x1+ x2–x4≤300

二月份的銷售量小于總庫存量: -x1–x2+ x4+ x5 ≤200 三月份的進貨量加月初庫存量小于總庫存量:x1+x2+ x3–x4–x5 ≤300 三月份的銷售量小于總庫存量: -x1–x2–x3+ x4+ x5+ x6 ≤200 2.3 根據(jù)題意推理

maxZ=-8 x1-6 x2-9 x3+9 x4+8 x5+10 x6

x1 ≤300 -x1+ x4 ≤200 x1+ x2–x4≤300

-x1–x2+ x4+ x5 ≤200 x1+x2+ x3–x4–x5 ≤300 -x1–x2–x3+ x4+ x5+ x6 ≤200

xi ≥0 , i=1、2、3、4、5、6

2.4 計算機求解前的手工數(shù)據(jù)準備

將原問題的所有約束條件添加人工變量x7、x8、x9、x10、x11、x12 maxZ=-8 x1-6 x2-9 x3+9 x4+8 x5+10 x6 x1 + x7 =300

-x1+ x4 + x8 =200 x1+ x2–x4 + x9 =300

-x1–x2+ x4+ x5 + x10 =200 x1+x2+ x3–x4–x5 + x11 =300 -x1–x2–x3+ x4+ x5+ x6+ x12 =200

xi ≥0,i=1、2、3、4、5、6、7、8、9、10、11、12 3、程序流程圖

二、//程序源代碼

JSP 部分

=

value="

"

//prompt("please input base variable quantity divideby '$':","");//輸入框

Js 腳本代碼

function yemian(jj,ii,get_re,base_variable_arr,arr_first_varry){//畫出兩階段法的頁面 var tb_body="",tr_value="",tab_value="",input_value="",i=1,j=1; var tr1_value=new Array();

var arr_input_value_2=new Array(); var arr_get_re=new Array(); if(get_re!==null&&get_re!=""){ arr_get_re=get_re.toString().substring(0,get_re.length-1).split("#");//中間所有的數(shù)據(jù) arr_input_value_2=arr_get_re[0].toString().substring(0,arr_get_re[0].length-1).split(",");//第二行的數(shù)據(jù) }

if(arr_first_varry==null){ arr_first_varry=new Array(); for(var kk=1;kk<=jj;kk++){ var X_j="X"+kk.toString(); arr_first_varry.push(X_j); } }

while(i<=ii){ while(i==1){//第一行 var fs_wz=0; tr_value=first_line(i,jj,fs_wz,arr_first_varry);//fs_wz--->負數(shù)位置 i++; } while(i==2){

//prompt("please input base variable quantity divideby '$':","");//輸入框

Js 腳本代碼

function yemian(jj,ii,get_re,base_variable_arr,arr_first_varry){//畫出兩階段法的頁面

var tb_body="",tr_value="",tab_value="",input_value="",i=1,j=1;

var tr1_value=new Array();

var arr_input_value_2=new Array();

var arr_get_re=new Array();

if(get_re!==null&&get_re!=""){

arr_get_re=get_re.toString().substring(0,get_re.length-1).split("#");//中間所有的數(shù)據(jù) arr_input_value_2=arr_get_re[0].toString().substring(0,arr_get_re[0].length-1).split(",");//第二行的數(shù)據(jù)

}

if(arr_first_varry==null){

arr_first_varry=new Array();

for(var kk=1;kk<=jj;kk++){

var X_j="X"+kk.toString();

arr_first_varry.push(X_j);

}

}

while(i<=ii){

while(i==1){//第一行

var fs_wz=0;

tr_value=first_line(i,jj,fs_wz,arr_first_varry);//fs_wz--->負數(shù)位置

i++;

}

while(i==2){

tr_value+=second_line(i,jj,arr_input_value_2);

i++;

}

if(i>=3&&i<=ii){

tr_value+=mid_line(ii,jj,arr_get_re,base_variable_arr);

break;

}

}

/*

if(i<=ii){

for(var row_i=i;row_i<=ii;row_i++){

if(row_i==1){//第一行

var fs_wz=0;

tr_value=first_line(row_i,jj,fs_wz,arr_first_varry);//fs_wz--->負數(shù)位置

row_i++;

}

else if(row_i==2){

tr_value+=second_line(row_i,jj,arr_input_value_2);

row_i++;

}

else if(row_i>=3&&row_i<=ii){

tr_value+=mid_line(ii,jj,arr_get_re,base_variable_arr);

// break;

}

}

}

*/

tab_value=""+tr_value+"";

tb_body=document.getElementById("div1");

tb_body.innerHTML=tab_value;

// hidden();

document.getElementById("hidden1").value=jj;//把列數(shù)值 jj賦給隱含文本

document.getElementById("hidden2").value=ii;//把行數(shù)值 ii賦給隱含文本

}

function first_line(i,jj,fs_wz,arr_first_varry){//第一行 function:Add_Row(),Add_Column();Delete_Column()

var td_value1="",td1_value="",Xj="",tr_value1="",Xj_all="";

for(var j=1;j<=jj;j++){

Xj_all+=arr_first_varry[j-1].toString()+"$";

td_value1=td_value1+""+arr_first_varry[j-1]+"";

}

}

var base_input1=document.getElementById("first_bl");//變量存入隱含文本------7.10 base_input1.value=Xj_all; td1_value="XBb"+td_value1; //td1_value=td1_value+td_value1;//前兩單元格 tr_value1=""+td1_value+""; return tr_value1;

function second_line(i,jj,arr_input_value_2){//第二行 function:Result(),Delete_Row() var td_value2="",td2_value="",txt_id="",tr_value2="" ,Xj="",input_str="";

for(var j=0;j<=jj;j++){

if(arr_input_value_2[j]=="undefined"||arr_input_value_2[j]==null){

arr_input_value_2[j]=""; }

txt_id="txt"+i.toString()+j.toString();

input_str="" ;

td_value2=td_value2 +""+input_str+"";

}

td2_value="Z"+td_value2;

tr_value2=""+td2_value+"";

////alert("tr_value2 =="+tr_value2);

return tr_value2;

}

function mid_line(ii,jj,arr_get_re,base_variable_arr){//中間行

var arr_input_value_mid=new Array();

var td3_value="",td_value3="",txt_id="",txt_id1="",select_option1="",tr_value_mid=""; if(base_variable_arr==null){

base_variable_arr=new Array()

}

for(var i=3;i<=parseInt(ii);i++){

arr_input_value_mid[i-3]=new Array();

//alert("arr_get_re 2222 =="+arr_get_re.toString());

if(arr_get_re!=""&&arr_get_re!="undefined"&&i<=parseInt(ii)){

//if(arr_get_re[i-2]!=""&&arr_get_re[i-2]!="undefined"){

arr_input_value_mid[i-3]=arr_get_re[i-2].toString().substring(0,arr_get_re[i-2].length).toString().split(",");///////////////

//}

}else{

arr_input_value_mid[i-3]=new Array();

for(var n=0;n

arr_input_value_mid[i-3][n]="";

}

}

for(var j=0;j<=jj;j++){

txt_id="txt"+i.toString()+j.toString();

if(arr_input_value_mid[i-3][j]=="undefined"||arr_input_value_mid[i-3][j]==null){ arr_input_value_mid[i-3][j]="";

}

var X_value1="" ;

td_value3 +=""+X_value1+"";

}

if(base_variable_arr[i-3]==null||base_variable_arr[i-3]==""||base_variable_arr[i-3]=="undefined"){

base_variable_arr[i-3]="";

}

select_option1="

=\">><\"><</option>";

td3_value +=""+base_variable_arr[i-3]+""+td_value3+"";

tr_value_mid+=""+td3_value+"";

td3_value="";

td_value3="";

}

return tr_value_mid;

}

function Go_on() {//轉(zhuǎn)標準形式

var ii = 0, jj = 0;

var input_value_str = "", get_re = "";

var arr_input_value = new Array();

//var aa=prompt("please input base variable quantity divideby '$':","");//輸入基變量 用 "$" 做分隔符

var aa = prompt("輸入基變量用 $ 做分隔符(例如X2$X3)", "");//輸入基變量 用 "$" 做分隔符

var base_variable_arr = new Array();

if (aa != ""&& aa != null && aa != "undefined") {

document.getElementById("basic_standard").value=aa;

base_variable_arr = aa.toString().split("$");

// var base_input = document.getElementById("basic_standard");//基變量存入隱含文本------7.10

// base_input.value = aa;

}

jj = parseInt(document.getElementById("hidden1").value);

ii = parseInt(document.getElementById("hidden2").value);

get_re = get_input_value(ii, jj);

var get_res = get_re.replace(/,#/g, "#");

var base_input2 = document.getElementById("mid_value");//基變量存入隱含文本------7.10

base_input2.value = get_res;

yemian(jj, ii, get_re, base_variable_arr);

}

function get_input_value(ii,jj){//獲取table值 input+select-----

var txt_id="",input_value_str="",input_value_all="";

for(var i=2;i<=ii;i++){

for(var j=0;j<=jj;j++){

txt_id="txt"+i.toString()+j.toString();

input_value_str+=document.getElementById(txt_id).value+",";

}

input_value_str+="#";

}

return input_value_str;

}

function Add_Column(){//增加一列

var ii=0,jj=0,get_re="";

jj=parseInt(document.getElementById("hidden1").value)+1;

ii=parseInt(document.getElementById("hidden2").value);

get_re=get_input_value(ii,jj-1).toString();

yemian(jj,ii,get_re);

}

function Delete_Column(){//刪除一列

var ii=0,jj=0,get_re="";

jj=parseInt(document.getElementById("hidden1").value)-1;

ii=parseInt(document.getElementById("hidden2").value);

get_re=get_input_value(ii,jj+1).toString().substring(0,get_input_value(ii,jj+1).length-1); yemian(jj,ii,get_re);

}

function Add_Row(){//增加一行

var ii=0,jj=0,get_re="";

jj=parseInt(document.getElementById("hidden1").value);

ii=parseInt(document.getElementById("hidden2").value)+1;

get_re=get_input_value(ii-1,jj).toString()+"#";

yemian(jj,ii,get_re);

}

function Delete_Row(){//刪除一行

var ii=0,jj=0,get_re="";

jj=parseInt(document.getElementById("hidden1").value);

ii=parseInt(document.getElementById("hidden2").value)-1;

get_re=get_input_value(ii+1,jj).toString().substring(0,get_input_value(ii+1,jj).length-1); yemian(jj,ii,get_re);

}

function Result(){ //計算出最后結(jié)果,顯示在頁面上

var str_base="",str_varry="",str_mid="";

//var arr_base=new Array();

var arr_varry=new Array();

var arr_mid=new Array();

var ew_arr_mid=new Array();

var jj=0, ii=0;

jj=parseInt(document.getElementById("hidden1").value);

ii=parseInt(document.getElementById("hidden2").value);

str_base=document.getElementById("basic_standard").value;

;

str_varry=document.getElementById("first_bl").value;

str_mid=document.getElementById("mid_value").value;

str_mid=str_mid.toString().substring(0,str_mid.length-1);

// alert("str_base =="+str_base +" str_varry =="+str_varry +" str_mid

//7_11_15_43 ls

//arr_base=str_base.toString().split("$");

arr_varry=str_varry.toString().substring(0,str_varry.length-1).split("$");

arr_mid=str_mid.toString().split("#");

for(var k=0;k

ew_arr_mid[k]=new Array();

ew_arr_mid[k]=arr_mid[k].toString().split(",");

}

for(var k=0;k

for(var j=0;j

if(ew_arr_mid[k][j]==""){

//alert("是空格啊");

ew_arr_mid[k][j]=0;

}

else {

ew_arr_mid[k][j]=parseFloat(ew_arr_mid[k][j]);

}

}

}

var arr_not_base_loc=find_not_base_loc(str_base,arr_varry);

var fs_loc_min=first_line_juge(arr_not_base_loc,ew_arr_mid); =="+str_mid);

if(fs_loc_min!=-1){

alert("222222222222這是基變量啊 str_base============"+str_base); workout_result(ew_arr_mid,str_base,arr_varry,fs_loc_min,jj,ii);////--------------- }else{alert("1111111已經(jīng)是最優(yōu)解,無需繼續(xù)計算。。");}

}

function find_not_base_loc(str_base,arr_varry){//找出非基變量的位置

//var arr_loc_jl=new Array();

var arr_loc_jl="";

for(var i=0;i

var ss=arr_varry[i].toString();

var loc_jl=str_base.toString().indexOf(ss,0);

if(loc_jl==-1){

arr_loc_jl=arr_loc_jl+(i+1)+",";

//break;

}

}

alert("非基變量的位置 ===="+arr_loc_jl);

return arr_loc_jl;

}

function first_line_juge(arr_not_base_loc,ew_arr_mid){//找出非基變量負數(shù)最小的位置 var fs_loc=-1,n_b_min=0;

var arr_not_base=new Array();

arr_not_base=arr_not_base_loc.split(",");

for(var k=0;k

var kk=parseInt(arr_not_base[k]);

var n_b_judge=parseInt(ew_arr_mid[0][kk]);

if(n_b_judge

n_b_min=n_b_judge;

fs_loc=kk

}

}

alert("主元所在的列數(shù) ==="+fs_loc);

return fs_loc;

}

//ew_arr_mid 中間數(shù)組串;str_base 基變量串;arr_varry 首行的數(shù)組;fs_loc_min 主元所在列;

function workout_result(ew_arr_mid,str_base,arr_varry,fs_loc_min,jj,ii){

var bz_min_loc=-1;//記錄最小位置

var bz_jl=1000000;//記錄基變量與最小負數(shù)列的比值 確定換入 換出變量 //7_11_16_18 ls

var arr_base=new Array();

arr_base=str_base.split("$"); for(var k=1;k0){ } } var bz_pd=ew_arr_mid[k][0]/ew_arr_mid[k][fs_loc_min];//比值 if(bz_pd=0){ bz_jl=bz_pd; bz_min_loc=k; } if(bz_min_loc==-1){//比值全部為負(不是單純刑法,未處理) alert("此題用單純型法無法求解"); } else if(bz_min_loc!=-1){

//arr_base[bz_min_loc-1]=arr_varry[fs_loc_min-1];//互換 換入 換出 變量(arr_varry[fs_loc_min-1] 為X1,X2)(bz_min_loc 行)

//7_11_16_26 ls

arr_base[bz_min_loc-1]=arr_varry[fs_loc_min-1];//互換 換入 換出 變量(arr_varry[fs_loc_min-1] 為X1,X2)(bz_min_loc 行)

var jz_cs_z=ew_arr_mid[bz_min_loc][fs_loc_min];//(取出主元)基準 乘數(shù) for(var m=0;m<=jj;m++){//主元行除以主元值(主元化為1)

ew_arr_mid[bz_min_loc][m]=ew_arr_mid[bz_min_loc][m]/jz_cs_z;

}

var a=1;

//行下表出錯

for(var n=0;n

var jz_cs_f=ew_arr_mid[n][fs_loc_min];//基準 乘數(shù)

for(var j=0;j<=jj;j++){

if(n==bz_min_loc){

a=1;

}else if(n!=bz_min_loc){

if(jz_cs_f==0){

a=1;

}else if(jz_cs_f!=0){

ew_arr_mid[n][j]=parseInt(ew_arr_mid[n][j])+parseInt(ew_arr_mid[bz_min_loc][j])*(-jz_cs_f);//循環(huán)改變值

ew_arr_mid[n][j]=ForDight(ew_arr_mid[n][j],2);//保留兩位小數(shù) a=1;

}

} } } str_base=""; for(var base_i=0;base_i

var fs_loc_min1=first_line_juge(arr_not_base_loc,ew_arr_mid);//找目標函數(shù)中,負數(shù)最小的位置

if(fs_loc_min1!=-1){//若非基變量沒有負數(shù),則停止

workout_result(ew_arr_mid,str_base,arr_varry,fs_loc_min1,jj,ii);

}else{alert("2222222應經(jīng)是最優(yōu)解,無需繼續(xù)計算。。");}

//得到最后結(jié)果,將最后結(jié)果顯示在頁面上

var get_re="";

for(var rr=0;rr

for(var cc=0;cc<=jj;cc++){

get_re+=ew_arr_mid[rr][cc].toString()+",";

//7_11_16_38 ls

//get_re+=ew_arr_mid[rr+1][cc].toString()+",";

}

get_re+="#";

}

get_re=get_re.toString().substring(0,get_re.toString().length-1);

yemian(jj,ii,get_re,arr_base,arr_varry);//////////////////////////////////

}

function ForDight(Dight,How){//保留小數(shù)兩位

Dight=Math.round(Dight*Math.pow(10,How))/Math.pow(10,How);

return Dight;

}

【運籌學課程設計源代碼-題目是《某商店要制訂明年第一季度某種商品的進貨和銷】相關(guān)文章:

某商店售兩件衣服05-01

漢語自稱代詞某、某甲和某乙04-28

我要開這種商店作文10-20

某鎮(zhèn)制訂“十二五”工作規(guī)劃綱要(參考稿)04-30

如何制訂期學習計劃和目標09-02

制訂學校工作計劃要全員參與04-26

某種觸動作文05-01

我和姐姐逛商店作文04-30

學習某種藝術(shù)的作文05-02

與某種植物有關(guān)的詩句06-29